详细信息 您现在的位置是:首页 > php
使用curl发起https请求
来源:
发布时间:2021-06-09
515 人已围观
摘要使用curl发起https请求
Get方式:
//初始化 $curl = curl_init ( ) ; //设置抓取的url curl_setopt ( $curl , CURLOPT_URL , 'http://www.baidu.com' ) ; //设置头文件的信息作为数据流输出 curl_setopt ( $curl , CURLOPT_HEADER , 1 ) ; //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ; //执行命令 $data = curl_exec ( $curl ) ; //关闭URL请求 curl_close ( $curl ) ; //显示获得的数据 print_r ( $data ) ;
Post方式:
//初始化 $curl = curl_init ( ) ; //设置抓取的url curl_setopt ( $curl , CURLOPT_URL , 'http://www.baidu.com' ) ; //设置头文件的信息作为数据流输出 curl_setopt ( $curl , CURLOPT_HEADER , 1 ) ; //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ; //设置post方式提交 curl_setopt ( $curl , CURLOPT_POST , 1 ) ; //设置post数据 $post_data = array ( "username" => "coder" , "password" => "12345" ) ; curl_setopt ( $curl , CURLOPT_POSTFIELDS , $post_data ) ; //执行命令 $data = curl_exec ( $curl ) ; //关闭URL请求 curl_close ( $curl ) ; //显示获得的数据 print_r ( $data ) ;
使用curl如果想发起的https请求正常的话有2种做法:
方法一、设定为不验证证书和host。
在执行curl_exec()之前。设置option
$ch = curl_init();
......
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
方法二、设定一个正确的证书。
本地ssl判别证书太旧,导致链接报错ssl证书不正确。
我们需要下载新的ssl 本地判别文件
http://curl.haxx.se/ca/cacert.pem
放到 程序文件目录
curl 增加下面的配置
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); ;
curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).'/cacert.pem');
大功告成
上一篇: php生成xml文件
下一篇: 让Sublime有文件对比功能
站点信息
- 电话:15226178738
- QQ:1697915848
- 邮箱:1697915848@qq.com