开发者社区> 问答> 正文

PHP,Curl设置Content-type不成功,求大神帮忙解答,谢谢! 400 请求报错 

PHP用curl模拟post请求,接口那边规定要用content-type为multipart/form-data, 我用curl_getinfo()查看curl的请求头信息,发现,content-type却是application/json 代码如下:

public function getHttpResponsePOSTFILE($url,$para) {

$curl = curl_init($url); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data')); curl_setopt($curl, CURLOPT_POST, true ); curl_setopt($curl, CURLOPT_POSTFIELDS, $para); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $responseText = curl_exec($curl); curl_close($curl);

return $responseText; }

接口那边接收到的content-type也是application/json。 请问该php该怎么设置? 求大神帮忙解决

展开
收起
kun坤 2020-06-01 10:04:02 1473 0
1 条回答
写回答
取消 提交回答
  • 代码没问题, 检查下其它地方是不是重新设置header了 ---- demo, 发送请求: -----

    <?php function getHttpResponsePOSTFILE($url,$para) {

    $curl = curl_init($url); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data')); curl_setopt($curl, CURLOPT_POST, true ); curl_setopt($curl, CURLOPT_POSTFIELDS, $para); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $responseText = curl_exec($curl); curl_close($curl);

    return $responseText; } $para = array( "greeting"=>'hello world' ); $resp = getHttpResponsePOSTFILE('http://localhost/PHP_Script/get_request.php',$para); print_r($resp); ?>

    ==== 被请求的 URI: ====
    <?php
    $arr_headers = getallheaders();
    $request_str = "Header---->\n" . print_r($arr_headers,true);
    $request_str .= "POST---->\n" . print_r($_POST,true);
    $request_str .= "GET---->\n" . print_r($_GET,true);
    $request_str .= "==================request parameters shows end=============";
    file_put_contents('request.txt',$request_str,FILE_APPEND);
    echo "request has been report, thank you.<br />\n";
    
    一次请求的结果:

    请求信息

    2020-06-01 10:04:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载