Laravel Guzzle 客户端错误:“POST https://”导致“415 不支持的媒体类型”响应:(仅在生产中)

问题描述 投票:0回答:1

我在生产中发送 Guzzle http post 请求时遇到此错误,具有相同数据和相同代码的相同 url 在本地返回成功响应的问题?!

$response = $client->request('POST',$ur,[
               'form_params' => [
                  //data
               ]
            ]);

我尝试在本地生产环境中使用确切的代码,它预计会返回成功响应,而不是此错误415不支持的媒体类型。我还尝试扩展标头 application/json 并接受但相同的错误。

php laravel http guzzle
1个回答
0
投票

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
    ]
]);
© www.soinside.com 2019 - 2024. All rights reserved.