2012-10-22 43 views
5

我需要做一個curl請求,我有這一行「curl -X POST -H'Content-Type:application/json' -d「並需要」翻譯「到PHP捲曲。問題是我不知道「-X」,「-H」和「-d」是什麼意思。curl -X POST -H'Content-Type:application/json'-d到PHP

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     'Accept: application/json', 
     'Content-Type: application/json', 
     'Content-Length: '. strlen($itemJson)) 
    ); 

我想類似的東西在頭($itemJson是一個JSON字符串),但我得到了錯誤400

我覺得我在做錯誤的方式請求。有誰能夠幫助我?

+2

-X表示方法類型。 -H表示標題,-d表示數據tat將與請求一起發送。 – Layke

+0

謝謝!我認爲請求是正確的,我會檢查數據。 – fred00

+0

將Curl命令轉換爲PHP https://incarnate.github.io/curl-to-php/ – Sonu

回答

8

你可以試試下面

$data = array("name" => "Hagrid", "age" => "36");                  
$data_string = json_encode($data);                     

$ch = curl_init('http://somedomain.com/test.php');                  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
    'Content-Type: application/json',                     
    'Content-Length: ' . strlen($data_string))                  
);                             

$result = curl_exec($ch); 
+0

不能...我再次遇到錯誤400。 – fred00

+0

你能粘貼你的更新代碼嗎? – GBD

+0

謝謝!就是這樣,我正在發送POST到一箇舊的url。 – fred00