我正在尝试从此处获取URL流(.m3u8): https://chch.cdn.clearcable.net/
我尝试使用cURL:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://chch.cdn.clearcable.net/');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$res = curl_exec($ch);
echo $res;
但是,代码中不存在URL流。 我需要一些额外的功能吗?
谢谢。
答案 0 :(得分:1)
您需要告诉curl返回数据而不是输出数据。如果您使用此设置:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res
应该包含您期望的数据。我可以确认这对我有用。如果不适合您,请在调用curl_exec
之后尝试以下操作:
if($res === false) {
echo 'Curl error: ' . curl_error($ch);
} else {
echo $res;
}
如前所述,在网络上运行时,您需要查看源代码以查看浏览器解析的任何代码。或者,您可以使用print_r
或var_dump
之类的方法在页面上查看它。
答案 1 :(得分:0)
您需要使用print_r()
函数检查其是否返回任何值
在下面尝试代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://chch.cdn.clearcable.net/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$res = curl_exec($ch);
$post = json_decode($res ,true);
print_r($post);
curl_close($ch);
答案 2 :(得分:0)
您可以简单地使用file_get_contents()
将整个文件流化为字符串。但是单独使用它会产生错误:SSL operation failed with code 1..
尝试以下代码:
// Create a stream
$opts = [
"ssl" => [
"verify_peer" => false,
"verify_peer_name" => false
]
];
$context = stream_context_create($opts);
$res = file_get_contents("https://chch.cdn.clearcable.net/", false, $context);
echo $res;