post请求数据

该文章展示了一个PHP函数`curl_request`用于执行HTTPPOST请求,特别是当请求体是JSON格式时,需设置`Content-Type`为`application/json`。在示例中,还包含了如何添加额外的HTTP头如token,并提供了请求地址和参数的处理方式。
摘要由CSDN通过智能技术生成

对于 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;

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值