php – 使用Guzzle删除带参数的请求

我必须在CodeIgnitor平台中使用参数执行DELETE请求.首先,我尝试使用cURL,但我切换到了Guzzle.

控制台中的请求示例如下:

curl -X DELETE -d '{"username":"test"}' http://example.net/resource/id

但是在Guzzle的文档中,他们使用像GET这样的参数,比如DELETE http://example.net/resource/id?username=test,我不想这样做.

我尝试过:

$client = new GuzzleHttp\Client();
$client->request('DELETE', $url, $data);

但请求只是调用DELETE http://example.com/resource/id而没有任何参数.

解决方法:

如果我正确解释你的curl请求,你试图发送json数据作为删除请求的主体.

// turn on debugging mode.  This will force guzzle to dump the request and response.
$client = new GuzzleHttp\Client(['debug' => true,]);

// this option will also set the 'Content-Type' header.
$response = $client->delete($uri, [
    'json' => $data,
]);
上一篇:php – Laravel中的Guzzle客户端:InvalidArgumentException:“没有配置任何方法来处理form_params配置密钥”


下一篇:php – 无法使用Guzzle请求发送cookie