我试图在其他网站上获取HLS流,但是它们总是返回403 Forbidden :(这是我的功能,它在localhost上运行良好,但在我的服务器中运行不正确。
function getPage($url, $referer, $header){
$timeout=30;
$curl = curl_init();
if(strstr($referer,"://")){
curl_setopt ($curl, CURLOPT_REFERER, $referer);
}
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
curl_setopt ($curl, CURLOPT_HEADER, $header);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
$html = curl_exec ($curl);
curl_close ($curl);
return $html;
}
echo getPage("http://www.wezatv.com/dooball/assp1.php", "http://www.wezatv.com/", 1);
任何人都可以帮助我?
谢谢,
答案 0 :(得分:0)
确保您的服务器IP不是IP
使用curl代理进行测试,
您的链接http://www.wezatv.com/dooball/assp1.php
在我的服务器上正常运行
答案 1 :(得分:0)
您的代码100%正确,我认为问题是您的服务器阻止了该请求或目标服务器阻止了您的服务器的IP
如果在短时间内发现了太多请求,某些服务器会临时阻止每个请求。因此,如果您想要抓住它的数据,您应该减少请求的数量,例如实现延迟