我在生产中发送 Guzzle http post 请求时遇到此错误,具有相同数据和相同代码的相同 url 在本地返回成功响应的问题?!
$response = $client->request('POST',$ur,[
'form_params' => [
//data
]
]);
我尝试在本地生产环境中使用确切的代码,它预计会返回成功响应,而不是此错误415不支持的媒体类型。我还尝试扩展标头 application/json 并接受但相同的错误。
415 Unsupported Media Type
错误通常意味着服务器拒绝接受请求,因为负载格式不受支持。就您而言,服务器似乎需要 JSON 有效负载,但您正在发送 form_params
。
在您的 Guzzle 请求中,您可以尝试将
form_params
更改为 json
。
$response = $client->request('POST', $url, [
'json' => [
//data
]
]);
此外,请确保将
Content-Type
和 Accept
标题设置为 application/json
:
$response = $client->request('POST', $url, [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
//data
]
]);