当前位置: 代码迷 >> 综合 >> curl 请求三方接口方式及header头使用方式
  详细解决方案

curl 请求三方接口方式及header头使用方式

热度:7   发布时间:2023-12-15 06:13:28.0
   /*** 请求三方接口* @param string $url  接口链接* @param string $method  请求方式 get/post* @param array $header  请求头* @param array $param   请求参数* @return bool|string*/function curl($url = '', $method = 'get',$header = [],$param = []){$val = strtolower($method) == 'get' ? 0 : 1;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POST, $val);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置为不是https也可以访问curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);//设置header头if ( !empty($header) ) {curl_setopt($ch, CURLOPT_HTTPHEADER, $header);}//设置post的数据包,即传参if(!empty($param) && $val == 1){curl_setopt($ch, CURLOPT_POSTFIELDS, $param);}//打印请求头if (isset($header['header'])){$header_info = curl_getinfo($ch);}$result = curl_exec($ch);curl_close($ch);return $result;}

 调用curl请求三方接口

        //三方接口要求公共参数在header中传递$header = ["sign:{$sign}", "appId:" . self::APP_ID, "token:{$token_info['token']}", "timestamp:{$timestamp}", 'Content-Type:application/json'];//所需参数$param = ['startTime' => date('Y-m-d',strtotime('-7 days')),'endTime'   => date('Y-m-d',$time),'pageNum'   => 1,'pageSize'  => 200];$url = self::BASE_URL. self::ANALYTICS_URL;$res = curl($url,'post',$header,$param);

 

  相关解决方案