我正在尝试回应网站数据&对于95%的网站file_get_content,curl工作得很好,但对于少数网站,它无论我尝试过什么都不行。我尝试定义正确的用户代理,将SSL验证更改为false但没有任何效果。
使用禁止https://norskbymiriams.dk/
测试失败的网站wget无法复制ssl站点,但wget是使用ssl支持编译的。用wget -V
检查我试过这些codes.none为这个特定的网站工作
file_get_contents
$list_url = "https://norskbymiriams.dk/";
$html = file_get_contents($list_url);
echo $html;
curl
$handle=curl_init('https://norskbymiriams.dk');
curl_setopt($handle, CURLOPT_HEADER, true);
curl_setopt($handle, CURLOPT_VERBOSE, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36");
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
$content = curl_exec($handle);
echo $content;
任何帮助都会很棒
答案 0 :(得分:1)
有些网站对请求的分析非常好。如果只有一件事让Web服务器认为你是一个爬行机器人,它可能会返回403。
我会试试这个:
我的卷曲请求看起来像这样:
卷曲'https://norskbymiriams.dk/'
-H'升级 - 不安全请求:1' -H 'User-Agent:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_11_6) AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 61.0.3163.100 Safari浏览器/ 537.36'
--compressed
请试一试。它有效。