这是我的PHP代码:
$ch = curl_init('http://www.iphonehacks.com/2016/08/jailbreak-iphone-ipad-ios-9-3-3-pangu-1-1.html');
curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
上面的代码给出了403错误,但当我使用file_get_contents
时,我可以回显整个网页。
$data = file_get_contents('http://www.iphonehacks.com/2016/08/jailbreak-iphone-ipad-ios-9-3-3-pangu-1-1.html');
echo $data;
有人可以指出cURL方法有什么问题。我知道我可以使用file_get_contents
,但我有兴趣了解第一种情况下出了什么问题,以便更好地理解cURL。
答案 0 :(得分:3)
您的answer[L"key1"] = web::json::value::string(text);
选项不正确。将其更改为:
CURLOPT_USERAGENT
您不得在curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36");
选项上使用前缀“User-Agent:”。该网站拒绝了它,因为它收到了以下请求标题:
User-Agent:User-Agent:Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 51.0.2704.103 Safari浏览器/ 537.36
而不是:
User-Agent:Mozilla / 5.0(Windows NT 10.0; WOW64)AppleWebKit / 537.36 (KHTML,与Gecko一样)Chrome / 51.0.2704.103 Safari / 537.36