2

我正在使用 GuzzleHttp 向外部 api 发送请求并获取响应,但返回的响应在数据中为空。当我在高级休息客户端中测试 uri 和参数时, 我得到一个数据,那么为什么 Guzzle 响应是空的?!如果可以,请你帮助我。

这是我的代码:

public function index($id)
{
    $client = new Client(['base_uri' => 'http://qpeople.me/']);

    $response=$client->post('profileinfo', [
        'json'=>[
           'tshirtID'=>$id
        ]
        ]);

    $body=$response->getBody();
    dd($body);
    return view('profile');
}

这是回应 在此处输入图像描述

4

2 回答 2

0

好的,我通过使用 cURL 发送请求并获得响应找到了解决方案,代码如下:

$url = 'http://qpeople.me/profileinfo';
        $data['tshirtID'] =$id;
        $_data = json_encode($data);
        $headers = array(
            'Content-Type: application/json',
            'Content-Length: ' . strlen($_data),
        );

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($curl);
于 2015-11-10T00:28:30.070 回答
0

尝试:

<?php
$body = (string) $response->getBody();
dd($body);
于 2015-11-18T04:11:24.420 回答