Сервер, вероятно, блокирует запросы на основе (отсутствие действительного) заголовка пользовательского агента (User-Agent:
).По сути, этот заголовок сам идентифицирует на сервере, что это такое: браузер, бот, паук, приложение и т. Д.
Вы можете попробовать использовать cURL для отправки тех же типов заголовков, которые сервер ожидает от типичного браузера., используя curl_setopt
и опцию CURLOPT_USERAGENT
( документы здесь).
$url = "https://example.com";
// we're going to impersonate Chrome 74 on MacOS in this example.
$user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36";
$ch = curl_init();
// this is where we set the option to send the user agent header
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
Если это по-прежнему не работает, убедитесь, что вам не нужны файлы cookie или учетные данные для входа.