使用curl將JSON發佈到PHP:揭開缺失的連結
當嘗試在PHP中使用curl post指令進行JSON資料傳輸時, PHP 對POST 資料的解釋可能會遇到空數組的問題。要解決這個問題,秘訣在於改變命令結構。
解決誤解
預設情況下,curl 中的 -d 參數需要表單編碼的資料。為了指示 PHP 正確解釋 JSON 內容,必須引入 -H 參數。正確的命令語法如下:
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
透過在 -H 參數中指定“Content-Type: application/json”,我們通知 PHP POST 資料是 JSON 格式。這允許 PHP 正確解析和處理 JSON 對象,並將“tools”值指派給“subject”屬性。
範例回應
執行修改後的命令後,來自PHP 伺服器的回應現在將反映正確解釋的JSON 數據,從而消除了空數組的問題:
HTTP/1.1 200 OK Date: Fri, 01 May 2009 22:03:00 GMT Server: Apache/2.2.8 (Win32) PHP/5.2.6 Content-Type: application/json; charset=utf-8 { "screencast": { "id": null, "subject": "tools", "body": null, "dataUrl": null, "dataMedium": null, "createdOn": null, "author": null } }
以上是如何使用 cURL 正確地將 JSON 資料發佈到 PHP 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!