веб-очистка — PHP file_get_contents не работает для некоторых URL

Почему PHP file_get_contents не работает для некоторых URL?

<?php
$html = file_get_contents('http://modagram.com');
?>

Для выше я получаю это предупреждение:

PHP Warning:  file_get_contents(http://modagram.com): failed to open stream: HTTP request failed!  in /var/www/html/scraping/test.php on line 2

1

Решение

Как сказал @MarkBaker в комментарии, веб-сервер, вероятно, блокирует неизвестных UserAgents, попробуйте подделать один:

$context = stream_context_create([
'http' => [
'user_agent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)',
],
]);
$html = file_get_contents('http://modagram.com', false, $context);

print_r($http_response_header); // see response headers
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]