我已经用代理测试了我的本地服务器,我的朋友都可以在他们的浏览器中加载 url,但是当我尝试在单独的服务器上使用 cURL 时,连接失败。
这是 URL,它在我的浏览器和使用我朋友的互联网时都加载:
http://pc.stephen3.com:8080/gameq.php
这是我在单独服务器上使用的代码,它成功检索了所有其他 URL(如 google 和 yahoo)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://pc.stephen3.com:8080/gameq.php");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$err = curl_error($ch);
$resp = curl_exec($ch);
echo $resp;
echo $err;
但它在我的家庭服务器的 url 上没有返回任何内容,并且
curl_error($ch);
(确实说过,现在什么也没说)“无法连接到主机”
有什么想法吗?url 在任何地方都有效,但在 cURL 中。该代码在任何地方都可以使用,但可以使用 URL。
编辑:在我看来,这可能是因为我的外部服务器上的出站流量位于端口 8080 而不是常规服务器的 80 端口上,必须测试我的主机是否允许 curl 在其他端口上。