PHP cURL 在发送数据后提供 SSL 错误?

标签 php post curl ssl ssl-certificate

这是我的代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postValues);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);

现在 $result 为“false”,curl_error() 向我显示 SSL 错误“无法识别对等证书颁发者”。 但是虽然有这个错误,但是post数据已经发送到$apiUrl了。

这是正确的吗?错误或功能? ;)

我如何改进这一点以防止将数据发送到不安全的服务?

提前致谢! :)

最佳答案

有两种解决方法...

解决方案 - 1

如果您想跳过检查 SSL 证书使用....

curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 

解决方案 - 2

如果您有证书,请使用...

curl_setopt ($ch, CURLOPT_CAINFO, "PATH_TO/cacert.pem");

谢谢。

关于PHP cURL 在发送数据后提供 SSL 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23241712/

相关文章:

rest - 解析 - 限制包含关系返回的字段

shell - 使用 POST 在 curl 命令中传递带空格的值

api - 使用 httpotion elixir 发布到 slack api

node.js - POST 请求类型错误 - 无法读取未定义的属性

pear - 将 PEARs php_dir 放入 php.ini 中的 include_path

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

php - 通过标签获取相似的图像,但过滤具有特定类别的图像

php - 如何在 WooCommerce 中更改帐单地址字段标签

jquery - 使用每个文件提交自定义 POST 变量

post - Django Rest Framework APIView 发布数据为空