我在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也失败了。
想法?
我认为这与我的博客位于子域名这一事实有关。我说这个的原因是,如果我在根网址上的博客上运行相同的脚本,它可以正常工作。有没有正确的方法来逃避子域?
答案 0 :(得分:2)
此代码失败,因为DNS查找失败。这可能是因为您的服务器无法联系其名称服务器。或者因为blog.example.com
不存在(它在浏览器中失败,所以它应该在任何地方都失败)。您可以尝试将名称服务器更改为google:8.8.8.8和8.8.4.4。这些DNS服务器运行良好。
答案 1 :(得分:0)
新Tumblr API:http://www.tumblr.com/docs/en/api/v2
如果您的域名包含tumblr帐户,则可以使用。 example