php中curl访问https与CA证书(代码示例)

阅读量:24
2021-04-18

本篇文章给大家带来的内容是关于php中curl访问与CA证书(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

curl命令
1.需要下载CA证书 文件地址是
2.把下载的文件放到这个位置 /ca-bundle.crt
3.curl就可以访问的资源了

php代码

function post($url, $data=array(), $refer = "", $timeout = 30, $header = array()){
    $curlObj = curl_init();
    $ssl = stripos($url,'') === 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_ => CURL_,
        CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4,
        CURLOPT_REFERER => $refer
    );  
    if (!empty($header)) {
        $options[CURLOPT_] = $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("");
var_dump($res);

以上就是php中curl访问与CA证书(代码示例)的详细内容,更多请关注星网无限其它相关文章!

声明:本文转载于:博客园,如有侵犯,请联系admin@删除

THE END

发表评论

相关推荐

  • 有关fgets()函数的文章推荐10篇

    以下正文:这篇文章主要介绍了PHP文件读写操作相关函数总结,本文总结了fwrite()、fread()、fgets()、fgetc()、file()、readf ...

    阅读量:65
    2021-04-19
  • php递归与无限分类实例详解

    这篇文章主要介绍了php实现递归与无限分类的方法,涉及php的递归操作技巧,需要的朋友可以参考下本文实例讲述了php实现递归与 ...

    阅读量:45
    2021-04-19
  • CI框架中zip类的使用

    CI框架自带的zip类简单实用,本文就来简单说一下ci框架的zip类的使用,需要的朋友可以参考下CI框架自带的zip类简单实用,本文 ...

    阅读量:44
    2021-04-18
  • SWFUpload插件上传文件的代码

    这篇文章主要介绍了文件上传之SWFUpload插件(代码),实现此代码主要分为两部分:1.前台文件和 2.后台文件upload.php,需要 ...

    阅读量:42
    2021-04-18
  • 关于destoon的URL Rewrite设置方法

    这篇文章主要介绍了destoon的URL Rewrite(伪静态)设置方法,需要的朋友可以参考下1、如果您的服务器支持.htaccess,则无需设 ...

    阅读量:47
    2021-04-18