CURLOPT POSTFIELDS不将数据附加到HTTP请求


CURLOPT POSTFIELDS not attatching data to HTTP Request

我一直在尝试使用 CURLOPT POSTFIELDS 通过 HTTP 请求发送一些东西,但数据似乎没有传输。我错过了什么吗?

        function sendTestCase($caseArgs){
        try{
            $ch = curl_init();
            $sendData = http_build_query($caseArgs);
             curl_setopt($ch, CURLOPT_POSTFIELDS, $sendData);
            curl_setopt($ch, CURLOPT_URL, 'http://localhost:8888/testrail/index.php?/miniapi/add_case/');  
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER,array("Expect:"));
            curl_exec($ch);
        }
        catch (HttpException $ex){
            echo $ex."<-Exception";
 }
 curl_close($ch);
    }

POSTFIELDS完全能够接受数组,curl将为您完成URL构建。就目前而言,您正在将字符串传递给 curl(恰好包含您的表单值),但没有传入字段名称,因此 curl 正在发送一个裸字符串。试试这个:

 curl_setopt($ch, CURLOPT_POSTFIELDS, $caseArgs);