1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- /* file: curl请求类
- Created by wanghong<1204772286@qq.com>
- Date: 2021-02-22 */
- namespace utils;
- class Curl{
- /*
- 请求封装-curl_request
- $url -string 请求地址
- $method -string 请求方式,默认GET
- $headers -array 请求头,默认[]
- $bodys -array 请求体,默认[]
- $json -boolean 对请求体进行json_encode处理,默认false
- return $response 请求返回值
- */
- public static function curl_request($url, $method = 'GET', $headers = [], $bodys = [], $json=false)
- {
- if($json==false){
- $bodys=json_encode($bodys);
- }
- // 创建连接
- $curl = curl_init($url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//跳过证书检查
- curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
- curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($curl, CURLOPT_FAILONERROR, false);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_HEADER, false);
- curl_setopt($curl, CURLOPT_POST, true);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
- // 发送请求
- $response = curl_exec($curl);
- if($json && is_string($response)){
- $response=json_decode($response,true);
- }
- curl_close($curl);
- return $response;
- }
- /*
- get请求-curl_get
- $url -string 请求地址
- $json -boolean 对返回值进行json_decode处理,默认true进行处理成array
- */
- public static function curl_get($url,$json=true)
- {
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//跳过证书检查、
- curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect:"));
- curl_setopt($curl, CURLOPT_FAILONERROR, false);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_HEADER, false);
- $return = curl_exec($curl);
- curl_close ( $curl );
- if($json){
- return json_decode($return, true);
- }else{
- return $return;
- }
-
- }
- /*
- POST请求-curl_post
- $url -string 请求地址
- $params - json 请求参数
- $rj -boolean 对返回值进行json_decode处理,默认true进行处理成array
- $headers -string 请求头
- */
- public static function curl_post($url,$params,$rj=true,$headers=''){
- if(!$headers){
- $headers=array(
- "Content-Type:application/x-www-form-urlencoded",
- );
- }
- $ch = curl_init ();
- curl_setopt ( $ch, CURLOPT_URL, $url );
- curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
- curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
- curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
- curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
- curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 );
- $result = curl_exec ( $ch );
- curl_close ( $ch );
- if($rj){
- return json_decode($result,true);
- }else{
- return $result;
- }
- }
- }
|