2012-05-14 39 views
0

我一直在試圖通過HTTP請求發送一些東西,使用CURLOPT POSTFIELDS並且數據似乎沒有傳輸。我錯過了什麼嗎?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); 
    } 
+0

什麼是'$ caseArgs'的價值? –

+0

什麼是caseargs,你爲什麼不簡單地把它作爲一個數組傳遞? –

+0

這是一個數組。我需要它作爲POST參數傳遞,因爲這就是API所要求的。另外,帖子參數也需要URL編碼...至少可以說我很沮喪 – BlackHatSamurai

回答

1

POSTFIELDS完全有能力接受一個數組,curl會爲你做網址建設。就目前而言,你傳遞一個字符串來捲曲(恰好包含你的表單值),但不傳入字段名稱,所以curl發送一個空字符串。試試這個:

curl_setopt($ch, CURLOPT_POSTFIELDS, $caseArgs); 
+0

工作正常!感謝您的幫助! – BlackHatSamurai

相關問題