laravel5和GuzzleHttp

时间:2015-11-09 18:23:04

标签: php laravel laravel-5 guzzle guzzle6

我正在使用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');
}

这是回应 enter image description here

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

尝试:

<?php
$body = (string) $response->getBody();
dd($body);