CURL发送到另一个域SSL证书错误


CURL posting to another domain SSL Certificate Error

我正在尝试使用curl到一个API的HTTPS地址。api只是在提交到的页面上显示字符串结果,而不返回我的域名。我不确定是否有其他方法可以做到这一点,但我认为CURL是唯一的解决方案。

是否可能这只发生在我的本地主机上?

错误接收:SSL证书有问题,请验证CA证书是否正确

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);
var_dump(curl_error($ch));

结果:SSL证书有问题,请检查CA证书是否正确。细节:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed' (length=146)

默认情况下,PHP尝试验证对端证书。

如果你确定你不关心,你可以这样做,看看cURL请求是否可以触发,只是为了测试:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

正确的方法是实际设置cURL调用,使用服务器的现有CA证书使用CURLOPT_CAPATHCURLOPT_CAINFO