当我想使用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时发送的?
答案 0 :(得分:0)
这种行为在枪口文件form-params
中有所描述form_params-用于发送应用程序/ x-www-form-urlencoded POST请求。
可能您已经以json格式传递了参数:
$request = $client->request('PUT', $url, [
'json' => $params,
'headers' => [
'Referer' => '(intentionally removed)',
'Accept' => 'application/json',
]
]);