当前位置:首页 > 技术教程 > 技术文章 > 正文内容

curl实用请求方法函数(个人用),含支付pem校验

atao3年前 (2021-02-25)技术文章2475

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。

image.png

下面分享一个个人常用的CURL请求方法:

function https_request($url,$data=null,$header=null,$pem=null){
    // 1. 初始化一个 CURL 对象
    $curl = curl_init();
    // 2.设置你需要抓取的URL
    curl_setopt($curl, CURLOPT_URL,$url);
    // (可选)设置头 阿里云的许多接口需要在头上传输秘钥
    if(!empty($header)){
       curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    }
    // 3.https必须加这个,不加不好使(不多加解释,东西太多了)
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //对认证证书进行检验
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    // 微信支付退款用的pem校验
    if(!empty($pem)){
        curl_setopt($curl, CURLOPT_SSLCERTTYPE, 'PEM');
        curl_setopt($curl, CURLOPT_SSLCERT, "{$pem['0']}");
        curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
        curl_setopt($curl, CURLOPT_SSLKEY, "{$pem['1']}");
    }
    // 4.设置post数据,否则是get方式
    if (!empty($data)){
       //设置模拟post方式
       curl_setopt($curl,CURLOPT_POST,1);
       //传数据,get方式是直接在地址栏传的,这是post传参的解决方式
       curl_setopt($curl,CURLOPT_POSTFIELDS,$data);//$data可以是数组,json
    }
    // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。1是保存,0是输出
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    // 让curl跟随页面重定向
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    // 5. 运行cURL,请求网页
    $output = curl_exec($curl);
    // 6. 关闭CURL请求
    curl_close($curl);
    return $output;
}


推荐阅读:

  1. 微信退款文章

  2. 微信支付文章

  3. 微信授权登录文章

扫描二维码推送至手机访问。

版权声明:本文由武景涛的博客发布,如需转载请注明出处。

本文链接:http://www.yizhanhongtu.cn/post/55.html

标签: curdphp
分享给朋友:

相关文章

file_get_contents很慢?来看看php访问url的四种方式

file_get_contents很慢?来看看php访问url的四种方式

在使用file_get_contents方式访问URL的时候,会导致速度变的很慢,据说这是file_get_contents的一个bug,本文主要介绍PHP引入url的四种方式,其中包括file_ge...

PHP获取和操作配置文件php.ini的几个函数介绍

PHP获取和操作配置文件php.ini的几个函数介绍

1.ini_get()获取配置参数,ini_set()设置配置参数<?php echo ini_get('display_errors'); //1 //...

用PHP如何打造一个高可用高性能的网站

用PHP如何打造一个高可用高性能的网站

1. 说到高可用的话要提一下redis,用过的都知道redis是一个具备数据库特征的nosql,正好弥补了PHP的瓶颈,个人认为PHP的 瓶颈在于数据库,像Apache和Nginx的高级web服务器在...

MySQL中,21个写SQL语句的好习惯

MySQL中,21个写SQL语句的好习惯

每一个好习惯都是一笔财富,本文分 SQL 后悔药、SQL 性能优化、SQL 规范优雅三个方向,分享写 SQL 的 21 个好习惯。1. 写完 SQL 先 explain 查看执行计划。【SQL 性能优...

php版微信公众平台之微信网页登陆授权示例详解

php版微信公众平台之微信网页登陆授权示例详解

之前在项目中遇到网页授权登录这个需求,就对此做些总结记录。OAuth2.0授权:OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站、移动或桌面应用上存储的个人信息,而...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。