Это мой PHP код:Почему использование cURL дает мне 403 запрещенную ошибку при работе file_get_contents?
$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.
Спасибо, это сработало. На самом деле, ни один другой сайт не дал никаких ошибок, поэтому я понятия не имел, что я неправильно настраивал пользовательский агент. Наверное, им было все равно. –
сайт глуп, вероятно, он пытается «бороться со спамом», блокируя неизвестный пользовательский агент. который действительно трудно, практически невозможно сделать правильно, и очень легко сделать неправильно, учитывая, сколько пользовательских агентов действительно там; https://en.wikipedia.org/wiki/List_of_web_browsers – hanshenrik