<?php
// 频道映射表
$channelMap = [
'hbws' => 10524916, // 河北卫视
'hbjjsh' => 10516507, // 河北经济生活
'hbsn' => 10516508, // 河北三农频道
'hbds' => 10516509, // 河北都市
'hbysj' => 10516510, // 河北影视剧
'hbse' => 10516511, // 河北少儿科教
'hbwl' => 10516512, // 河北文旅·公共
'hbgw' => 10516513 // 河北三佳购物
];
$inputId = isset($_GET['id']) ? $_GET['id'] : 'hbws';
// 检查是否为映射的频道名称
if (isset($channelMap[$inputId])) {
$id = $channelMap[$inputId];
} elseif (is_numeric($inputId)) {
// 如果是数字,直接使用
$id = (int)$inputId;
} else {
// 无效的频道ID,使用默认值
$id = 10524916; // 默认河北卫视
}
go($id);
function go($id)
{
$u = 'https://api.cmc.hebtv.com/scms/api/com/article/getArticleList?catalogId=32557&siteId=1';
// 使用cURL替代file_get_contents以支持HTTPS
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $u,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 3,
CURLOPT_TIMEOUT => 15,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
CURLOPT_HTTPHEADER => [
'Accept: application/json, text/plain, */*',
'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8',
'Accept-Encoding: gzip, deflate',
'Connection: keep-alive'
]
]);
$c = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($c === false) {
die('cURL错误: ' . $error);
}
if ($httpCode !== 200) {
die('HTTP错误: ' . $httpCode);
}
$j = json_decode($c);
$news = $j->returnData->news;
foreach ($news as $n) {
if ($n->id == $id) {
$d = $n;
break;
}
}
if (!isset($d))
die('id not found');
$base_url = $d->liveVideo[0]->formats[0]->url;
$t = time() + 7200;
$movie = $d->appCustomParams->movie;
$k = md5($movie->liveUri . $movie->liveKey . $t);
$p = "$base_url?t=$t&k=$k";
header('Access-Control-Allow-Origin: *');
header('Location: ' . $p);
} 优化版 使用cURL替代file_get_contents以支持HTTPS |