xml响应错误

时间:2011-10-14 18:46:33

标签: php html xml curl

当我尝试发送xml消息并期待响应时,我收到SSL连接超时错误:

$xml = <<<EOL
<?xml version='1.0' encoding='UTF-8'?> 
<abc>
<UserId>123</UserId> 
</abc>
EOL;

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('xmlmessage' => $xml));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);

$result = curl_exec($ch);
if ($result === FALSE) {
    die(curl_error($ch));
}

echo $result

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在上面的代码中你缺少:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

除此之外,您需要确保curl具有ssl支持。创建一个名为“test.php”的文件,并在其中加入以下内容:

<?php
phpinfo();
?>

然后通过浏览器加载页面。在输出上,向下滚动到页面的“中间” 您可以看到有关已安装/启用的模块的详细信息。寻找卷曲信息。如果它有SSL支持 你会看到类似的东西(注意它是如何“提到”ssl):

cURL Information    libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6

否则,您需要联系服务器管理员,让他/她为其安装ssl支持。