【问题标题】:make a php curl with port number用端口号做一个 php curl
【发布时间】:2012-02-04 00:13:34
【问题描述】:

我正在尝试阅读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");
?>

它在本地主机上工作,但在服务器上不工作(godaddy/共享主机)

  • 卷曲已启用

  • 如果我尝试获取带有端口号的文件,则会出现“无法连接到主机”错误。

  • curl_get_file_contents("http://www.google.com");正在工作。

  • 试过 curl_setopt($c, CURLOPT_PORT, "39072"); //同样的错误。

我哪里错了? 谢谢。


编辑:如果对某人有帮助,我已经使用 yql 解决了这个问题。

【问题讨论】:

  • 为什么一定是那个端口号
  • @Ibu 这是一个无线电流媒体主机并使用端口号,它超出了我的控制范围。

标签: php curl port


【解决方案1】:

您的服务器很可能有一条防火墙规则阻止对异常端口的传出访问。

【讨论】:

    【解决方案2】:

    您可能还想考虑使用CURLOPT_USERAGENT 模拟用户代理。我之前从事过一些项目,如果不设置此值,我们就无法获得访问权限。

    【讨论】:

      【解决方案3】:

      Godaddy 有这个东西,你不能做某些事情。实际上,您尝试连接的端口更有可能被 Godaddy 阻止,您只能使用他们提供的端口。我有使用 Gmail 作为我的 SMTP 的不成功经验,结果证明 Godaddy 不允许这样的连接。

      如果您想充分利用 php、OS 等的强大功能,我会建议您切换到虚拟私有主机并选择一个价格便宜的好主机。离开GD后我很开心。

      【讨论】:

      • 你说得对,不仅如此,我对godaddy的问题还真多,谢谢指教。
      猜你喜欢
      • 2012-12-18
      • 2011-11-03
      • 2015-11-20
      • 1970-01-01
      • 2011-09-11
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      相关资源
      最近更新 更多