当我尝试发送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
有人可以帮忙吗?
答案 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支持。