如何编写PHP curl DELETE请求

use*_*677 2 php curl digital-ocean

我正在引用DigitalOcean的API文档,他们在此提供了有关如何删除Droplet的以下示例:

curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" "https://api.digitalocean.com/v2/droplets/[DROPLET_ID]"
Run Code Online (Sandbox Code Playgroud)

我怎么能用PHP卷曲写这个?

我目前有这个:

$ch = curl_init('https://api.digitalocean.com/v2/droplets/18160706');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer MY_API_TOKEN')
);

$result = curl_exec($ch);
echo $result;
Run Code Online (Sandbox Code Playgroud)

但这不是删除我的Droplet并返回(是的,Droplet id是正确的):

{"id":"not_found","message":"The resource you were accessing could not be found."}1
Run Code Online (Sandbox Code Playgroud)

Mic*_*l D 5

您需要设置CURLOPT_CUSTOMREQUESTDELETE作为PHP手册中提到这里。请花一些时间阅读它。下面的代码应该工作

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)


小智 5

试试这个

将CUTLOPT_CUSTOMREQUEST更改为"DELETE" 查找更多

$ch = curl_init('https://api.digitalocean.com/v2/droplets/18160706');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer MY_API_TOKEN')
);

$result = curl_exec($ch);
echo $result;
Run Code Online (Sandbox Code Playgroud)