Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件\u获取\u内容失败_Php_Api_Curl_File Get Contents_Tumblr - Fatal编程技术网

Php 文件\u获取\u内容失败

Php 文件\u获取\u内容失败,php,api,curl,file-get-contents,tumblr,Php,Api,Curl,File Get Contents,Tumblr,我有一个关于tumblr的博客,我正试图通过php和TumblrsAPI访问它 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($res

我有一个关于tumblr的博客,我正试图通过php和TumblrsAPI访问它

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上的博客上运行相同的脚本,它就可以正常工作。是否有正确的转义子域的方法?

新的Tumblr API:


如果你有你的域名和你的tumblr帐户,它将工作。此代码失败,因为DNS查找失败。这可能是因为您的服务器在联系其名称服务器时遇到问题。或者是因为
blog.example.com
不存在(它在我的浏览器中失败,所以应该到处都失败)。你可以试着把你的名字服务器改成谷歌的:8.8.8.8和8.8.4.4。这些DNS服务器工作正常

curl失败的原因是什么?(使用
curl\u error()
输出)这意味着运行此脚本的机器很可能无法解决
willium.com
问题。我认为这与我的博客位于子域上的事实有关。我这样说的原因是,如果我在根url上的博客上运行相同的脚本,它就可以正常工作。有没有一个正确的方法来转义子域?你的域中有吗?或者如果你使用BLOGNAME.tumblr.com呢。行吗?我无法访问url。也许DNS坏了?固定IP地址怎么样?如果你认为我拥有blog.example.com,那你疯了;)@威廉姆:是的,但你是想抢一个不存在的域名吗?因为您的服务器无法解析域名。这是非常明显的。要确认问题是不存在的域(应该存在,但可能会有更多问题),请尝试在诸如google.com之类的网站上执行文件获取内容。如果它无法解决,那么您的DNS在某个地方出现了问题。然而,我认为更可能的问题是blog.example.com根本不存在。如果您使用了另一个域并为此问题更改了它,那么这可能不是问题所在。@FuzziBear好吧,google.com上没有任何内容可以重定向到www.google.com。curl将重定向。你不应该像这样使用file_get_contents(),它不安全,设计也很糟糕。我知道,这很奇怪,旧的API可以工作,但当我从脚本中使用它时就不工作了。很奇怪。尽管如此,这还是奏效了!