/*** 请求三方接口* @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);