对于 POST 请求,请求的主体如果是 JSON 格式,并且 HTTP header 的 Content-Type 需要设置为 application/json
一个参考,具体按接口文档为准
public function pullList(){
$headers = array(
"Content-Type: application/json",
"token : 需要的token"
);
$access_token_url='请求地址';
$access_token_params = [
//具体需要的参数
];
$access_token_result = $this->curl_request($access_token_url,json_encode($access_token_params),'post',$headers);
$result = json_decode($access_token_result,true);
dd($result);
}
function curl_request($url, $data=null, $method='get', $header='', $https=true, $timeout = 5){
$method = strtoupper($method);
$ch = curl_init();//初始化
curl_setopt($ch, CURLOPT_URL, $url);//访问的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出
if($https){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//https请求 不验证证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//https请求 不验证HOST
}
if ($method != "GET") {
if($method == 'POST'){
curl_setopt($ch, CURLOPT_POST, true);//请求方式为post请求
}
if ($method == 'PUT' || strtoupper($method) == 'DELETE') {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
}
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//请求数据
}
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
if($header)curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //模拟的header头
//curl_setopt($ch, CURLOPT_HEADER, false);//设置不需要头信息
$result = curl_exec($ch);//执行请求
// dd($result, curl_error($ch));
curl_close($ch);//关闭curl,释放资源
return $result;
}