PHP使用x-www-form-urlencoded方式发送请求400

这里是引用
引用:https://blog.csdn.net/qq_35641923/article/details/81386708

在项目中通过x-www-form-urlencoded方式时无法请求成功,日志出现错误

<!doctype html><html lang="en"><head><title>HTTP Status 400 – Bad Request</title><style type="text/css     ">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {fo     nt-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 400 – Bad Request</h1><hr class="line" /><p     ><b>Type</b> Status Report</p><p><b>Message</b> Required String parameter &#39;callback&#39; is not present</p><p><b>Description</b> The server cannot or will not proce     ss the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).<     /p><hr class="line" /><h3>Apache Tomcat/9.0.36</h3></body></html>


搜索后发现方式from-data试发送的数据用的是array格式,而方式为 x-www-form-urlencoded 时需要用key=value&key=value的格式发送,发送的是string型的数据。

调整格式

        $headers = array(

            'Content-Type: application/x-www-form-urlencoded;charset=UTF-8',

            'apikey:' ."",

        );

        $postdata = array(

            "callback" => "",

            "type" => "",

            "param" =>"",

            "prefix"=>"",

        );
        curl_setopt($ch, CURLOPT_POST, TRUE);

        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postdata));

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

请求成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值