curl实用请求方法函数(个人用),含支付pem校验
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。
下面分享一个个人常用的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; }
推荐阅读:
微信退款文章
微信支付文章
微信授权登录文章