-1

我遇到了一个从未见过的奇怪问题。我已经在特定域的 PHP 中使用 file_get_contents() 运行了 6 个月的 cron 作业,并且运行良好。现在,突然,连接几乎每次运行都会超时,但不是每次都超时。有时有效,有时无效。我可以通过我的个人浏览器访问该 URL,也可以通过浏览器访问多台其他计算机。

我们在 URL 上尝试了 wget,它为该 URL 识别了 4 个 IP 地址。其中1人为wget工作。其他3个没有。

平没有工作。

Curl 的响应与 file_get_contents() 一样。有时有效,有时无效。

我不是网络人,但我猜这是网络问题?你认为问题是什么?

任何帮助,将不胜感激!

4

2 回答 2

2

正如您在对问题的评论中所说,您的合作伙伴似乎使用 4 个无效 IP 地址中的 3 个进行循环 DNS。您的 DNS 解析器有 75% 的机会获得错误的 IP,并且可能还会缓存它。

您的合作伙伴需要修复损坏的 DNS 条目,一切都应该再次正常工作。同时,我建议使用工作 IP 地址。

编辑

由于您似乎可以在家中使用所有 4 个 IP,因此存在一些可能的问题区域:

  • DNS:运行nslookup your-partners-site.com并比较您在机器上获得的输出。

  • 路由:对每个 IP 运行跟踪路由并比较输出。

  • 防火墙:您知道的服务器之间是否有任何类型的防火墙?

您可能需要您的合作伙伴的帮助,以确保这不是一个不对称的问题。

于 2012-12-20T16:41:23.940 回答
0

我曾经遇到过这个问题,我可以修复使用 curl 请求发送 HTTP-User-Agent 的问题。我从我的浏览器中使用了用户代理,从那时起它就可以正常工作了。

干杯

于 2012-12-20T16:27:43.780 回答