[英]PHP cURL return blank page
我一直在使用 PHP curl 来获取托管在不同服务器上的文件的内容。 该文件可以在 Chrome 等浏览器上轻松打开,但使用 cURL,它总是返回空白页。
该文件托管在 Nginx 服务器上,甚至 miniproxy.php 也无法获取内容。 相反,它返回 406 不可接受。 我尝试使用 HTTP 间谍扩展来监视发送的请求,发现以下 header:
Upgrade-Insecure-Requests:1
我尝试将相同的 header 与其他标头一起发送,但徒劳无功。 尽管如此,我还是无法纠正我的错误。 在 Internet 上,我找到了能够获取文件内容的 zalmos 代理。 我写的curl代码附在下面。
$url = "http://smumcdnems01.cdnsrv.jio.com/jiotv.live.cdn.jio.com/" . $ch . "/" . $ch . "_" . $q . ".m3u8" . $tok;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"User-Agent: agent",
"lbcookie: 300",
"devicetype: 1",
"os: android",
"appkey: 1111111",
"deviceId: device id",
"uniqueId: unique id",
"ssotoken: any token",
"Upgrade-Insecure-Requests: 1",
"Host: example.com",
"Connection: keep-alive",
"X-Chrome-offline: persist=0 reason=reload",
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding: gzip, deflate, sdch",
"Accept-Language: en-GB,en-US;q=0.9,en;q=0.8",
"subscriberId: any id",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
echo $url;
echo $resp;
我相信我的代码中缺少任何构成问题的部分。 如何纠正?
检查您的 URL。 Curl 必须给您答复。 如果它命中目标 URL,则目标 URL 在发送请求时没有响应任何内容。
您可能正在尝试访问 websocket。 尝试使用Postman进行模拟以获取更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.