file_get_contents失败
问题描述:
我有一个关于tumblr的博客,我试图通过php和tumblrs api访问它。file_get_contents失败
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
这也失败,卷曲。
想法?
我认为这与我的博客位于子域的事实有关。我这样说的原因是,如果我在位于根网址的博客上运行相同的脚本,它可以正常工作。有没有正确的方法来逃脱子域名?
答
新的tumblr API:http://www.tumblr.com/docs/en/api/v2
如果您有您的域名与你的tumblr帐户它会工作。一个example
+0
我知道这很奇怪,旧的API可以工作,但是当我从脚本中使用它时没有工作。很奇怪。尽管如此,这工作! – willium
答
此代码失败,因为DNS查找失败。这可能是因为您的服务器在联系其名称服务器时遇到问题。或者因为blog.example.com
不存在(它在我的浏览器中失败,所以它应该无处不在)。您可以尝试将您的名称服务器更改为Google的:8.8.8.8和8.8.4.4。这些DNS服务器运行良好。
卷曲失败的原因是什么? (使用'curl_error()'输出它) –
这意味着''willium.com'很可能不会被你运行这个脚本的机器解决。 –
我认为这与我的博客位于子域的事实有关。我这样说的原因是,如果我在位于根网址的博客上运行相同的脚本,它可以正常工作。有没有正确的方法来逃脱子域名? – willium