【发布时间】:2018-01-07 18:53:33
【问题描述】:
所以这就是场景。
1) 在我运行 MAMP 的本地计算机上,我没有遇到任何问题,并且我能够成功获得响应以及 CURLINFO_HTTP_CODE=200
2) 但是,我的 PHP 代码部署在一个远程服务器上。如果我尝试运行相同的东西(正如我在 #1 中提到的那样),我会收到一个错误,上面写着
curl_error = Failed to connect to my_ip port my_port: Connection refused 与 CURLINFO_HTTP_CODE = 7
$url = 'myURL';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,30); //timeout in seconds
curl_setopt($ch,CURLOPT_TIMEOUT, 20); // same for here. Timeout in seconds.
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$data_string = {"name":"mark"} `
【问题讨论】:
-
嗯,错误信息很清楚,不是吗?该目标服务器拒绝连接。很可能两者之间有防火墙。或者该服务器不提供所有请求/接口。如果有疑问,您只需检查服务器请求日志文件。
-
@arkascha 是的,你说的是对的。但是,当我在本地主机上时,为什么不会出现同样的问题呢?
-
嗯,显然网络拓扑的观点与那个开发系统不同。我不能告诉你为什么,只有你知道那个网络。