1

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

这有可能只发生在我的本地主机上吗?

接收错误:SSL证书问题,验证CA证书是否OK

//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));

Result: string 'SSL证书问题,验证CA证书是否OK。详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败'(长度=146)

4

1 回答 1

0

默认情况下,PHP 会尝试验证对等方的证书。

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

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

在执行 cURL 调用之前。

正确的方法是实际设置 cURL 调用以使用您的服务器现有的 CA 证书使用CURLOPT_CAPATHor CURLOPT_CAINFO

于 2013-04-05T01:44:28.630 回答