本帖最后由 tengfei 于 2026-1-19 15:03 编辑
<?php
// 获取第一个页面的内容
$html = file_get_contents('http://web.shtv.net.cn/MobileWeb/OnlineLive.aspx');
// 使用正则表达式提取 .m3u8 视频流地址
preg_match('/src="(http:\/\/[^"]+\.m3u8)"/i', $html, $matches);
// 检查是否找到了 .m3u8 地址
if (!empty($matches[1])) {
// 获取原始的视频流地址
$video_url = $matches[1];
// 解析 URL 获取主机名、路径和端口
$parsed_url = parse_url($video_url);
$host = $parsed_url['host']; // 获取主机名
$path = $parsed_url['path']; // 获取路径部分
// 获取原始端口,如果没有端口则使用默认的 8233
$port = isset($parsed_url['port']) ? $parsed_url['port'] : 8233;
// 获取 id 参数
$id = isset($_GET['id']) ? intval($_GET['id']) : 1; // 默认 id=1
// 根据 id 参数生成不同的视频流地址
if ($id == 1) {
// 第一个视频流地址(原始端口)
$video_url = "http://$host:$port$path";
} else {
// 第二个视频流地址,端口始终为 8234
$video_url = "http://$host:8234$path";
}
// 重定向到相应的 .m3u8 地址
header('Location: ' . $video_url);
exit; // 确保脚本终止执行
} else {
// 如果未找到 .m3u8 地址
echo '视频流地址未找到';
exit;
}
?>
根据admin提示
拿到$matches[1],直接Location就完事了
现已修正
|