【问题标题】:Godaddy fails to make connection with remote server via curlGodaddy 无法通过 curl 与远程服务器建立连接
【发布时间】:2016-06-17 18:25:17
【问题描述】:

好的,我很难将内容从 Go Daddy Host 服务器获取到我们公司的专有服务器。最初我使用的是 file_get_contents,然后我搜索了整个 SO,并意识到 curl 是绕过安全和配置的更好选择。这是我的代码:

function get_content($URL){
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_URL, $URL);
      $data = curl_exec($ch);
if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
}
      curl_close($ch);
      return $data;
}

echo 'curl:' . get_content('https://xxx-xxxxx:4032/test2.html');

这是错误:

Curl 错误:无法连接到 xxx-xxxxx.com 端口 4032:连接被拒绝

以下是一些事实:

  • 如果我在浏览器中输入 URL,我将能够检索 test2.html
  • 如果在不同的 Web 主机(Lunar Pages)上执行 EXACT 脚本,那么它可以正常工作
  • get_content() 将在 google.com 上运行
  • Go Daddy 代表帮不了我们
  • 在我们的服务器上,我们已禁用防火墙(在我们测试时)

【问题讨论】:

  • connection refused - 要么两端有防火墙主动阻止请求,要么该主机:端口组合监听没有任何内容。
  • 为什么不联系 Godaddy 支持?如果它适用于谷歌,它应该对其他网站也适用。
  • @Xorifelse 我们打了好几次电话。查看事实下的第四个项目符号,这意味着我们已经尝试过了。否则我不会做出如此明确的声明。
  • GoDaddy 几乎阻止所有出站内容。如果您只需要这样做一次,我只是暂时将您的本地服务器更改为侦听标准端口 443 而不是 4032,您应该会很好。

标签: php curl server


【解决方案1】:

我会发布此评论并发表评论,但我没有足够的赞成票来做到这一点。 GoDaddy 是自定义代码最差的主机之一。当然,它们对 WordPress 之类的东西很有用,但如果您想在代码中使用自定义功能,它们是最糟糕的之一。

这只是一个示例,GoDaddy 会在其防火墙内阻止大多数 file_get_contents 和 cURL 调用。我会选择 HostGator 或 Digital Ocean 之类的主机......两者都很便宜,但没有限制。

在进行切换之前,我会尝试在本地另一个环境中运行相同的代码,并确保您可以连接。

【讨论】:

  • 你的说法可能是对的,但我需要确凿的证据让我完全相信。请记住,我可以在 google.com 和其他网站上执行 file_get_contents。事实上,我们的其中一台服务器位于 AT&T 防火墙之外,它甚至可以到达那里,因此它允许的不仅仅是非常受欢迎的网站。我们打电话给我们的一位 AT&T 代表,让他在网络上监听,结果我们的脚本都没有击中防火墙。所以你可能是对的,但我还是希望看到有罪的证据。
  • 尝试获得一个 HostGator 帐户,使用优惠券代码“DarKnight”将为您提供一个一分钱的帐户进行测试,在那里运行您的代码,看看它是否有效。
猜你喜欢
  • 2020-03-05
  • 1970-01-01
  • 1970-01-01
  • 2014-09-27
  • 2020-04-06
  • 2015-04-11
  • 2016-08-12
  • 2016-05-25
  • 2012-10-17
相关资源
最近更新 更多