前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[PHP] curl访问https与CA证书问题

[PHP] curl访问https与CA证书问题

作者头像
唯一Chat
发布于 2019-09-10 03:12:05
发布于 2019-09-10 03:12:05
3.7K00
代码可运行
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地
运行总次数:0
代码可运行

CA证书,用来在调用HTTPS资源的时候,验证对方网站是否是CA颁布的证书,而不是自己随便生成的

curl命令 1.需要下载CA证书 文件地址是 http://curl.haxx.se/ca/cacert.pem 2.把下载的文件放到这个位置 /etc/pki/tls/certs/ca-bundle.crt 3.curl就可以访问https的资源了

php代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function post($url, $data=array(), $refer = "", $timeout = 30, $header = array()){
    $curlObj = curl_init();
    $ssl = stripos($url,'https://') === 0 ? true : false;
    $options = array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_FOLLOWLOCATION => 1,
        CURLOPT_AUTOREFERER => 1,
        CURLOPT_USERAGENT => 'Webface SelfService Form',
        CURLOPT_TIMEOUT => $timeout,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0,
        CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4,
        CURLOPT_REFERER => $refer
    );  
    if (!empty($header)) {
        $options[CURLOPT_HTTPHEADER] = $header;
    }   
    if ($refer) {
        $options[CURLOPT_REFERER] = $refer;
    }   
    if ($ssl) {
        //注意看这里就是配置CA证书
        //只信任CA颁布的证书
        $options[CURLOPT_SSL_VERIFYPEER]=true;  
        //本地CA证书,用来验证网站的证书是否是CA颁布的
        $options[CURLOPT_CAINFO]=getcwd() . '/cacert.pem';
        //验证域名是否匹配
        $options[CURLOPT_SSL_VERIFYHOST] = 2;
        /*  
        //忽略证书验证,信任任何证书
        $options[CURLOPT_SSL_VERIFYHOST] = false;
        $options[CURLOPT_SSL_VERIFYPEER] = false;
        */
    }   
    curl_setopt_array($curlObj, $options);
    $returnData = curl_exec($curlObj);
    if (curl_errno($curlObj)) {
        $returnData = curl_error($curlObj);
    }   
    curl_close($curlObj);
    return $returnData;
}
$res=post("https://www.baidu.com");
var_dump($res);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP:CURL分别以GET、POST方式请求HTTPS/http协议接口api
说明 :前提是打开php的curl开关和服务器的ssl_module,不然不能正常使用哦。
Sindsun
2019/12/06
6.7K0
解决Curl下载https地址文件出错的问题
使用curl下载https地址文件时,调用 curl_easy_perform 函数返回错误码60,表示CURL_SSL_CACERT错误,大概的意思是没有设置证书。当前使用的 curl版本为:libcurl/7.28.1 OpenSSL/1.0.1u zlib/1.2.2。
用户1685462
2021/07/26
1.4K0
使用curl工具调试https接口
工作中需要对接调试http接口,之前都是写代码测试,发现直接用curl这个工具更简单高效。
杨永贞
2020/08/05
1.6K0
浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!
由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号。有所收获。这里总结下个人经验。 开讲前,先吐槽一下新浪云服务器,一个程序里的   同一个函数  在PC测试可以正常运行,在它那里就会挂的
林冠宏-指尖下的幽灵
2018/01/02
5.9K0
PHP简单的Curl的Get请求和Curl的Post请求和file_get_contents的Get请求获取接口JSON数据
PHP携带Cookie用Curl进行Post或Get请求获取数据 PHP全能Curl请求 /** * curl发送HTTP请求方法 * @param $url * @param string $method * @param array $params * @param array $header * @param int $timeout * @param bool|false $multi * @return mixed * @throws Exception */ function
骤雨重山
2022/01/17
2.3K0
php使用curl访问https示例
今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的。 之前使用curl能获取http请求,但今天获取https请求时,返回的内容总是为空,查阅资料后发现用curl访问https需要添加以下两行代码: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在 封装成
夏时
2018/06/26
2.4K0
PHP_cURL初始化和执行方法
这个是采集基础,最好熟悉一下 $ch = curl_init(); # 设定url和把结果返回,是否返回头部 curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->ch, CURLOPT_HEADER, 1); # cookie文件设定 curl_setopt($this->ch, CURLOPT_COOKIEJAR,
老高的技术博客
2022/12/27
4240
完美解决PHP使用curl返回空白
最新的curl认可证书:https://curl.haxx.se/ca/cacert.pem
房东的狗丶
2023/02/17
3.4K0
PHP 问题合集
SSL certificate problem, verify that the CA cert is OK
WindWant
2020/09/11
1K0
PHP CURL GET HTTPS报错SSL certificate problem: unable to get local issuer certificate
这是因为HTTPS需要证书认证,如果本地没有装,就会报这个错误,我们可以把这个认证关掉。
全栈程序员站长
2022/11/15
1.8K0
20210903最近两天写代码的心得——PHP
本文最后更新于2021年09月04日,已超过282天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
田小檬
2022/08/30
3400
微信小程序img_sec_check 图片检测47001可用php代码
德宏大魔王
2023/08/08
6660
一个远程采集接口图片的小小案例
刚才逛百度的时候看到一个随机图的接口,访问了一下,哇,全是小姐姐,所以果断采集了,顺便把采集源码发出来,让他们的图变成自己的图(/大笑)。话不多说,上代吗
用户7162790
2022/03/23
3080
PHP对CURL函数的封装,支持GET/POST请求
代码如下 /** * curl 函数 * @param string $url 请求的地址 * @param string $type POST/GET/post/get * @param array $data 要传输的数据 * @param string $err_msg 可选的错误信息(引用传递) * @param int $timeout 超时时间 * @param array 证书信息 * @author 勾国印 */ function GoCurl($url, $type, $
botkenni
2022/03/24
1.6K0
PHP企业付款到零钱
昨天分享完小程序,今天就要写给用户发红包.之前也写过一次支付.今天也是有幸接触了下企业付款到零钱.企业通过这个可以将钱直接发到用户的零钱里面.
桑先生
2020/03/23
9610
一个较为完整的PHP cURL封装方法-JT_curl
岳泽以
2024/09/01
2430
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
德宏大魔王
2023/08/08
6000
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
【笔记】PHP封装的不错的一个Curl方法
温馨提示:本文最后更新于2022-03-07,若文件或内容有错误或已失效,请在下方留言。
NorthS
2023/03/21
4600
PHP官方API提供ck获取对方Q等级接口源码
提供ck可以免密查对方Q等级 只写了查等级 别的资料 你们需要写上或找我加上 分享分享思路。。。
用户8099761
2023/05/11
6260
PHP实现百度收录判断
代码如下: <?php $sl_url = (isset($_GET['url']))?$_GET['url']:$_POST['url']; if(empty($sl_url)) echo '查询
今天风真的好大好大啊
2022/04/02
1.1K0
推荐阅读
相关推荐
PHP:CURL分别以GET、POST方式请求HTTPS/http协议接口api
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验