【发布时间】:2010-09-17 23:23:46
【问题描述】:
我有以下使用 cURL 的 PHP 代码:
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://area51.stackexchange.com/users/flair/31.json");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$a_data = json_decode(curl_exec($ch));
echo curl_error($ch);
然后当我尝试通过 HTTP 访问该页面时出现以下错误:
无法连接到 0.0.0.31:参数无效
但是,从命令行运行代码时可以正常工作。
可能什么会导致 cURL 尝试连接到 AFAIK 的 0.0.0.31,甚至不是有效的 IP 地址?
【问题讨论】:
-
我假设您已经检查过 DNS 解析是否正常工作。 cURL 在命令行中是否正常工作?
-
@Tim:是的。在同一台服务器的命令行下工作正常。
-
嗯。很奇怪。请参阅下面的问题/建议。
-
你在哪里测试你的代码?在上班?也许代理服务器@work 拒绝访问未知主机?否则我猜你的 dns 是错误的(可能被黑了!!)。尝试刷新你的 dns 缓存??
-
可能是某些东西将 URL 中的
/字符误解为.,将 URL 转换为0.0.0.31?两者都以31结尾的事实很奇怪。不过,我以前从未见过这样的事情发生...