我正在尝试阅读http://free.freeshoutcast.com:39072/7.html此页面,我尝试了这段代码,
<?php
function curl_get_file_contents($URL)
{
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo curl_getinfo($c, CURLINFO_HTTP_CODE);
curl_setopt($c, CURLOPT_URL, $URL);
$contents = curl_exec($c);
echo curl_error($c);
curl_close($c);
if ($contents) return $contents;
else return FALSE;
}
echo curl_get_file_contents("http://free.freeshoutcast.com:39072/7.html");
?>
它正在使用localhost,但不在服务器上工作(godaddy / shared hosting)
启用卷曲
如果我尝试获取包含端口号的文件,则会出现“无法连接到主机”错误。
curl_get_file_contents( “http://www.google.com”);正在努力。
尝试了curl_setopt($ c,CURLOPT_PORT,“39072”); //同样的错误。
我哪里错了? 感谢。
编辑:我已经使用yql解决了这个问题,如果它对某人有帮助的话。
答案 0 :(得分:2)
您的服务器很可能有防火墙规则阻止异常端口的传出访问。
答案 1 :(得分:1)
您可能还想考虑使用CURLOPT_USERAGENT
模拟用户代理。我之前在没有设置此值的情况下无法获得访问权限的项目上工作过。
答案 2 :(得分:1)
Godaddy有这件事,你不能做某些事情。您尝试连接的端口更可能是与godaddy阻止的,您只能使用他们提供的东西。我使用Gmail作为我的SMTP的经验不成功,事实证明Godaddy不允许这样的连接。
我建议如果你想利用php,OS等的全部功能,然后切换到虚拟私人主机并选择一个廉价计划的好主机。离开GD后,我很高兴。