我一直在尝试使用 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);