【发布时间】:2012-03-29 09:26:28
【问题描述】:
我使用 cUrl(php) 以 xml 格式将项目代码发送到 Web 服务。我在 localhost 中得到了正确的响应,但是当它服务器显示时它显示
cURL 错误 (7):无法连接到主机
这是我的代码:
function xml_post($post_xml, $url)
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_xml);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
// curl_setopt($ch, CURLOPT_PORT, $port);
$data = curl_exec($ch);
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
if ($curl_errno > 0) {
echo "cURL Error ($curl_errno): $curl_error\n";
} else {
echo "Data received\n";
}
curl_close($ch);
echo $data;
}
我将项目代码发送到计数并从中获取详细信息。我尝试使用 php 4+ 和 php5+ 两个版本,没有任何解决方案。
【问题讨论】:
-
选择一个使用 80 端口的代理
-
使用 curl 详细选项获取更多信息
-
我将在此处添加两件事,最终解决了我的问题:1. 使用
--verbose从命令行运行 cURL 2. 如果您在 OSX 上使用 Little Snitch(或类似软件),看看那个。