我想用PHP和cURL做一個DELETE http請求。PHP CURL刪除請求
我已閱讀了如何做到這一點很多地方,但似乎沒有爲我工作。
這是我要做的事:
public function curl_req($path,$json,$req)
{
$ch = curl_init($this->__url.$path);
$data = json_encode($json);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $req);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data)));
$result = curl_exec($ch);
$result = json_decode($result);
return $result;
}
我再繼續使用我的功能:
public function deleteUser($extid)
{
$path = "/rest/user/".$extid."/;token=".$this->__token;
$result = $this->curl_req($path,"","DELETE");
return $result;
}
這給了我HTTP內部服務器錯誤。 在我使用GET和POST使用相同curl_req方法的其他函數中,一切都很順利。
那麼我做錯了什麼?
內部服務器錯誤意味着有一個與腳本收到您的請求時出現問題。 – Brad
感謝布拉德 - 我知道,我猜它是因爲它沒有發送DELETE請求。如果我使用Firefox的REST客戶端插件並使用DELETE發送完全相同的請求,則它可以正常工作。因此它像cURL一樣不會將請求發送爲DELETE。 – Bolli
相關? http://stackoverflow.com/questions/2081894/handling-put-delete-arguments-in-php –