file_get_contents HTTP-запрос не выполнен

Я написал простой PHP-код, чтобы получить некоторый контент URL, но он не работает
это вернет эту ошибку

file_get_contents (http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html) [function.file-get-contents]: не удалось открыть поток: сбой HTTP-запроса! HTTP / 1.0 401 Несанкционированный

вот мой код пожалуйста, помогите мне.tnx

$content=file_get_contents('http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html');
echo $content;

3

Решение

Вот альтернатива file_get_contents с помощью завивать:

$url = 'http://www.example.com';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
curl_close($curl);

Вы можете добавить это curl_setopt($curl, CURLOPT_ENCODING ,""); если вы столкнулись с проблемой кодировки.

4

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

  1. Откройте страницу с помощью браузера и откройте консоль, убедитесь, что сервер действительно отправляет 401, даже если страница отправлена ​​и доступна для просмотра.

  2. На php откройте URL альтернативным способом, чтобы игнорировать ошибку (см. http://php.net/manual/en/context.http.php)

  3. Вы также заметите, что это gzip-кодирование, смотрите http://php.net/manual/en/function.gzinflate.php

Счастливого взлома!

0