2010-08-18 101 views
3

我收到一個JSON,我可以使用php://輸入並且需要將它發回到另一個URL,但我不確定如何格式化它。以下是我如何收到它:使用捲曲發佈JSON

$ updates = file_get_contents(「php:// input」);

我可以json_decode它,然後解析出陣列,使得它將適合正常POST狀請求諸如你好=世界&堆棧溢出=等,但是它可以將JSON通過剛剛進入捲曲發佈是這樣的:

curl_setopt($curl_handle, CURLOPT_POST, 1); 
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $updates); 

然後客戶端可以只是php://輸入以再次獲取數據?我問的原因是因爲客戶說他沒有收到數據,可能是他沒有正確設置。我注意到,當你通過一個命令行來做類似這樣的事情時,你必須在命令中包含-H,這樣數據才能被解釋爲普通POST,也許我需要設置一個libcurl CURLOPT?

謝謝!

回答

1

好人,我想出了這一個!

要發個帖子的不同內容類型(即..應用/ JSON或文本/ XML)添加此SETOPT通話

curl_setopt($ CH, CURLOPT_HTTPHEADERS,陣列(「Content-Type的: application/json'));

0

您還可以使用

curl --silent --request POST --header 'Content-Type: application/json' \ 
--data $updates \ 
-k http://URL_to_which_you_want_to_post