我想POST JSON內容到遠程REST端點發布JSON,但是「內容」值似乎是交付空。所有其他頭文件等正在被正確接收,並且Web服務使用基於瀏覽器的測試客戶端成功測試。PHP - 通過的file_get_contents
有沒有下面,我指定「內容」字段我的語法有問題?
$data = array("username" => "duser", "firstname" => "Demo", "surname" => "User", "email" => "[email protected]");
$data_string = json_encode($data);
$result = file_get_contents('http://test.com/api/user/create', null, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => array('Content-Type: application/json'."\r\n"
. 'Authorization: username:key'."\r\n"
. 'Content-Length: ' . strlen($data_string) . "\r\n"),
'content' => $data_string)
)
));
echo $result;
由於,這工作很好! – Ben
如果某人運行到該POSTDATA的編碼不正確的問題(字典的每個鍵具有「安培;」開頭): 第三行更改爲$ POSTDATA = http_build_query($數據,' ','&'); – Philipp