[英]Guzzle 6 PUT request not sending form params
每當我想使用Guzzle發出POST請求時,我都會使用以下代碼:
$request = $client->request('POST', $url, [
'form_params' => $params,
'headers' => [
'Referer' => '(intentionally removed)',
'Accept' => 'application/json',
]
]);
該代碼可以正常工作,並且$ params中的信息始終會發送,但是當我將請求類型從POST更改為PUT時,請求變為:
$request = $client->request('PUT', $url, [
'form_params' => $params,
'headers' => [
'Referer' => '(intentionally removed)',
'Accept' => 'application/json',
]
]);
該請求突然停止發送$ params中包含的數據。
我已經用POST和PUT請求測試了使用Insomnia將請求發送到的端點,並且兩種類型均按預期處理,所以我確定問題不存在。
是什么導致使用POST方法發送來自Guzzle的數據,而不是使用PUT發送數據?
耗材文檔form-params中描述了此行為
form_params-用於發送應用程序/ x-www-form-urlencoded POST請求。
可能您已經以json格式傳遞了足夠的參數:
$request = $client->request('PUT', $url, [
'json' => $params,
'headers' => [
'Referer' => '(intentionally removed)',
'Accept' => 'application/json',
]
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.