关于 php:file_get_content 不适用于特定链接 | 珊瑚贝

file_get_content is not working for a specific link


我正面临一个非常复杂的情况,我有两个 URL 从中读取 XML 内容。下面是我的简单脚本。

1
2
3
4
5
6
7
8
9
$a1 = file_get_contents(‘http://xml.propspace.com/feed/xml.php?cl=1678&pid=2323&acc=2323’);

var_dump($a1);

echo ;

$a2 = file_get_contents(‘http://xml.propspace.com/feed/xml.php?cl=1066&pid=9922&acc=1154’);

var_dump($a2);

第一个链接 “a1” 存在,但是当我尝试通过 file_get_content 读取 URL 时,它给了我警告。

Warning: file_get_contents(http://xml.propspace.com/feed/xml.php?cl=1678&pid=2323&acc=2323): failed to open stream: HTTP request failed! HTTP/1.1 404 NOT FOUND in serverFilePath/yooy.php on line 2

返回布尔值(假)

和其他链接 “a2” 工作正常并返回 XML 提要。

有什么建议吗?

这是在单个页面上运行的代码输出的屏幕截图。
enter

  • 该链接没有显示任何结果,这就是您出错的原因。
  • HTTP request failed! HTTP/1.1 404 NOT FOUND 非常自我解释。
  • 使用 if( get_headers($url)[0] !=”HTTP/1.0 404 Not Found” ){} 来检查 url 是否不是 404 然后使用 file_get_contents 这样你就不会得到这种类型的错误,但是如果你在循环中使用它,它会让你的应用程序变慢。
  • @ajay 如果您访问该网址,则该网址存在。”链接,而且它正在我的本地主机上工作
  • 谢谢,这是一个安全问题,仅允许特定 IP 地址列出 $a1。


事实上,您发布的链接($a1,$a2),其中一个不起作用,猜猜是哪个。

以下是访问 $a1.

时返回的错误

1
2
3
Error code: 1001 happened, please check with customer support immediately.

For assistance, please contact support@propspace.com.

在处理外部链接/API 时,始终养成首先从 PHP 外部向其发出请求的习惯,这样做可以排除另一端出错的可能性,并节省大量宝贵的资源调试时间。

如果它是一个简单的 GET 请求,那么只需在浏览器中导航到它就可以了,但如果它是 POST,那么您可以使用 Postman 扩展程序来支持 chrome,它对我来说完美无缺。


来源:https://www.codenong.com/34877595/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?