美文网首页
PHP CURL GET HTTPS报错SSL certific

PHP CURL GET HTTPS报错SSL certific

作者: 下班再说 | 来源:发表于2020-06-18 22:23 被阅读0次

请求HTTP

使用php curl获取http资源,不会报错。

如下:

<?php

// 创建curl资源

$ch = curl_init();

// 设置url

curl_setopt($ch, CURLOPT_URL, "baidu.com");

// 将Transfer作为字符串返回

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// 执行并输出

$output = curl_exec($ch);

// 查看错误

$error = curl_error($ch);

echo $error;

// 释放curl资源

curl_close($ch);

请求HTTPS

但是如果请求HTTPS的时候,默认会报错:

SSL certificate problem: unable to get local issuer certificate

这是因为HTTPS需要证书认证,如果本地没有装,就会报这个错误,我们可以把这个认证关掉。

<?php

// 创建curl资源

$ch = curl_init();

// 设置url

curl_setopt($ch, CURLOPT_URL, "https://github.com/search?q=react");

// 将Transfer作为字符串返回

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// 关闭SSL验证

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

// 执行并输出

$output = curl_exec($ch);

// 查看错误

$error = curl_error($ch);

echo $error;

// 释放curl资源

curl_close($ch); 

配置HTTS

另外的一种解决办法,就是配置上HTTPS,找到证书:

到http://curl.haxx.se/ca/cacert.pem

下载pem文件。

在PHP配置文件(php.ini)里配置PEM文件目录位置。

curl.cainfo = "path\to\cacert.pem"

原文链接:https://blog.csdn.net/lilongsy/java/article/details/85012503

相关文章

网友评论

      本文标题:PHP CURL GET HTTPS报错SSL certific

      本文链接:https://www.haomeiwen.com/subject/zoxymhtx.html