【问题标题】:How to get response from guzzle use auth and body raw?如何从 guzzle 使用 auth 和 body raw 获得响应?
【发布时间】:2017-10-25 00:52:30
【问题描述】:

我这样尝试邮递员:

我只填写输入密码。然后我点击按钮更新请求

这样的观点:

这是标题:

这是身体。我选择这样的原始数据和输入数据:

然后我点击按钮发送,它可以得到响应

但是当我尝试像这样使用 guzzle 6 时:

public function testApi()
{
    $requestContent = [
        'headers' => [
            'Accept' => 'application/json',
            'Content-Type' => 'application/json'
        ],
        'json' => [
            'auth' => ['', 'b0a619c152031d6ec735dabd2c6a7bf3f5faaedd'],
            'ids' => ["1"]
        ]
    ];
    try {
        $client = new GuzzleHttpClient();
        $apiRequest = $client->request('POST', 'https://myshop/api/order', $requestContent);
        $response = json_decode($apiRequest->getBody());
        dd($response);
    } catch (RequestException $re) {
          // For handling exception.
    }
}

结果为空

我该如何解决这个问题?

【问题讨论】:

    标签: php laravel api laravel-5.3 guzzle


    【解决方案1】:

    请参阅 Postman,您在“标题”选项卡中正确指定了字段 Authorization。所以在使用 Guzzle 的时候也是一样的,放在标题中:

    public function testApi()
    {
        $requestContent = [
            'auth' => ['username', 'password']
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json',
            ],
            'json' => [
                'ids' => ["1"]
            ]
        ];
    
        try {
            $client = new GuzzleHttpClient;
            $apiRequest = $client->request('POST', 'https://myshop/api/order', $requestContent);
            $response = json_decode($apiRequest->getBody());
            dd($response);
        } catch (RequestException $re) {
              // For handling exception.
        }
    }
    

    【讨论】:

    • 我的服务器好像有问题。所以我不能尝试。后来当我尝试它并且它有效。我会接受你的回答
    • 好的,告诉我。我编辑了我的答案,因为我忘记了'Content-Type' => 'application/json' 行末尾的逗号。
    • 我试过了。但它不起作用。它重定向到页面登录。似乎它的身份验证较少。我在您的编码中看到,没有身份验证。但在我展示的邮递员中,它是 auth
    • 似乎是这个:'Authorization' => 'Basic b0a619c152031d6ec735dabd2c6a7bf3f5faaedd'b0a619c152031d6ec735dabd2c6a7bf3f5faaedd和输入的密码应该不一样
    • 我输入的密码:2ae694a08465094ea04ab21506e8e740fb55b6eb当我在邮递员上点击更新请求时,标题中的结果:Basic OjJhZTY5NGEwODQ2NTA5NGVhMDRhYjIxNTA2ZThlNzQwZmI1NWI2ZWI =不一样
    猜你喜欢
    • 1970-01-01
    • 2018-05-29
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    相关资源
    最近更新 更多