簡體   English   中英

狂飲6 PUT請求未發送表單參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM