Laravel Guzzle发布请求

时间:2017-06-25 20:30:43

标签: php laravel post guzzle

我在设置Guzzle标题时遇到问题。

try {
    $res = $client->post($apiURL,
        [
            'headers' => [
                'Content-Type' => 'application/json',
                'accept' => 'application/json',
                'Authorization' => 'Bearer ' . $token,
            ],
            'body' => \GuzzleHttp\json_encode([
                'query' => 'xxxyyy'
            ])
        ]
    );
} catch (\GuzzleHttp\Exception\ClientException $e) {
    dd($e->getResponse()->getBody()->getContents());
}

我从服务器得到了我需要检查我的访问令牌的响应,尽管它在执行相同请求时在邮递员中正常传递。检查Chrome检查器时,我正在

Content-Type:application/x-www-form-urlencoded; charset=UTF-8

我尝试直接在new Client()构造函数中设置标题,但我得到相同的响应。

使用的套餐:use GuzzleHttp\Client;

1 个答案:

答案 0 :(得分:0)

问题不清楚,问题是什么。

通常,使用the form_params option传递application/x-www-form-urlencoded正文,使用json选项传递application/json正文。 Content-Type标题将自动设置。

似乎需要发送一个表单,但是你发送了一个JSON。