我使用curl将一个xml文件通过https发送给rightmove API-他们向我提供了所有证书。
我遇到了以下错误:
60 SSL证书问题:无法获取本地签发人证书结果=
我尝试了在其他类似的stackoverflow帖子中找到的所有方法,但都没有起作用。我已经试着下载了旧版的cacert.pem并更改了php.ini文件中的文件-我已经安装了我的个人信息文件并在浏览器和本地机器上创建了证书,但仍然无法消除错误60。
这是我的PHP代码:
我遇到了以下错误:
60 SSL证书问题:无法获取本地签发人证书结果=
我尝试了在其他类似的stackoverflow帖子中找到的所有方法,但都没有起作用。我已经试着下载了旧版的cacert.pem并更改了php.ini文件中的文件-我已经安装了我的个人信息文件并在浏览器和本地机器上创建了证书,但仍然无法消除错误60。
这是我的PHP代码:
<?php
$xml = file_get_contents("myxml.xml");
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__).'\mypem.pem');
curl_setopt($ch, CURLOPT_URL, "https://adfapi.adftest.rightmove.com/v1/property/sendpropertydetails");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_REFERER, 'https://adfapi.adftest.rightmove.com/v1/property/sendpropertydetails');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_VERBOSE , 1);
$ch_result = curl_exec($ch);
print curl_errno($ch);
print curl_error($ch);
echo "Result = ".$ch_result;
curl_close($ch);
?>
这个问题困扰了我好几天,如果能得到帮助,我将不胜感激。