Ошибка file_get_contents - PullRequest
       19

Ошибка file_get_contents

1 голос
/ 21 августа 2011

У меня есть блог на Tumblr, и я пытаюсь получить к нему доступ через php и tumblrs api.

конечная точка API:

http://blog.example.com/api/read/json?start=0&num=10&debug=1

и это, кажется, работает нормально.

Однако, когда я делаю:

$result = file_get_contents("http://blog.example.com/api/read/json?start=0&num=10&debug=1");

print_r($result);

браузер выводит

Warning:  file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/to/file/test.php on line 5

Warning:  file_get_contents(http://blog.example.com/api/read/json?start=0&num=10&debug=1) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/to/file/test.php on line 5

Это также не работает с Curl.

Идеи

Я думаю, это как-то связано с тем, что мой блог находится на поддомене. Причина, по которой я это говорю, заключается в том, что если я запускаю тот же скрипт в блоге, расположенном в корневом URL-адресе, он работает нормально. Есть ли правильный способ избежать поддоменов?

Ответы [ 2 ]

2 голосов
/ 21 августа 2011

Этот код не работает из-за сбоя поиска DNS. Это может быть связано с тем, что у вашего сервера возникли проблемы с подключением к его серверам имен. Или потому что blog.example.com не существует (в моем браузере происходит сбой, поэтому он должен работать везде). Вы можете попробовать изменить свои серверы имен на Google: 8.8.8.8 и 8.8.4.4. Эти DNS-серверы работают хорошо.

0 голосов
/ 21 августа 2011

Новый API Tumblr: http://www.tumblr.com/docs/en/api/v2

Если у вас есть домен с учетной записью Tumblr, он будет работать. Пример

...