【问题标题】:Curl Request not working on new sever卷曲请求在新服务器上不起作用
【发布时间】:2016-04-16 16:47:09
【问题描述】:

最近我们将网站移到了新服务器上,之后 curl 请求停止工作。我们的网站在 Magento 上,我们正在使用一个插件,该插件使用 curl 向网络服务发送请求。

此代码在本地系统和旧服务器上运行,但在新服务器上 curl 发送空白响应。

我还打印了 curl_error 输出,上面写着“无法连接到主机”。如果有人遇到同样的问题,请告诉我。

【问题讨论】:

  • curl 请求代码 - $tuCurl = curl_init(); curl_setopt($tuCurl, CURLOPT_URL,$auth_query); curl_setopt($tuCurl, CURLOPT_PORT, 9001); curl_setopt($tuCurl, CURLOPT_VERBOSE, 0); curl_setopt($tuCurl, CURLOPT_HTTPGET, 1); curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($tuCurl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array('Accept:application/xml')); $response = curl_exec($tuCurl); $response1 = curl_getinfo($tuCurl);`
  • “无法连接到主机”就是这个意思。无法执行 TCP 握手。您连接到了错误的 IP/端口,或者有什么东西阻止了它的工作。
  • 在 webservice url 中,我们使用的是 9001 端口。但这适用于其他客户端,也适用于旧服务器上的此客户端。
  • 那你最好弄清楚为什么它在这个上不起作用......
  • 现在我们收到另一个错误 NSS:找不到客户端证书(未指定昵称)。请告诉我如何解决这个问题

标签: magento curl


【解决方案1】:

非常明确......这意味着无法连接()到主机或代理。

以下代码适用于任何系统:

$ch = curl_init("http://google.com");    // initialize curl handle
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
print($data);

如果您看不到 google 页面,那么 .. 您的 URL 错误,或者您有一些防火墙或限制问题。

【讨论】:

  • 您的代码运行良好。由于我们在 api url 中使用的端口,该错误即将到来。我们已经允许该端口,但现在我们收到另一个错误 NSS:找不到客户端证书(未指定昵称)。请告诉我如何解决这个问题。
  • 对于这个错误NSS: client certificate not found (nickname not specified)你有什么解决办法吗?
猜你喜欢
  • 2011-10-27
  • 2011-08-10
  • 1970-01-01
  • 2017-11-29
  • 2013-05-24
  • 1970-01-01
  • 2016-09-10
  • 1970-01-01
  • 2021-02-24
相关资源
最近更新 更多