Laravel 如何在PHP中从Guzzle Http获取响应

Laravel 如何在PHP中从Guzzle Http获取响应,laravel,guzzle,laravel-5.5,guzzlehttp,Laravel,Guzzle,Laravel 5.5,Guzzlehttp,我正在Laravel 5.5中构建一个应用程序,在其中调用api请求以获得响应,我的控制器中有以下内容: $client = new GuzzleHttp\Client(); $response = $client->request('GET', 'http://www.conxn.co.in/CoxnsvcA.svc/Login'); dd($response); 我能得到这样的东西: 但是在执行$response->getBody()时我正在取消呼叫以获得响应。当我执行dd($re

我正在Laravel 5.5中构建一个应用程序,在其中调用api请求以获得响应,我的控制器中有以下内容:

$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'http://www.conxn.co.in/CoxnsvcA.svc/Login');
dd($response);
我能得到这样的东西:

但是在执行
$response->getBody()时我正在取消呼叫以获得响应。当我执行
dd($response->getBody()
时,我得到:

在《邮差》中,它展示了如下内容:

帮我解决这个问题

谢谢。

这应该可以:

$client = new GuzzleHttp\Client();
$response = $client->request('GET','http://www.conxn.co.in/CoxnsvcA.svc/Login');

$response_body = json_decode($response->getBody());

这应该对你有用

$client = new GuzzleHttp\Client();

$response = $client->request("GET", "http://www.googleapi.com", ['headers' => ['Accept' => 'application/json']]); 

$response_data = json_decode((string) $response->getBody(), true);

return collect($response_data);

您是否尝试过
(string)$response->getBody()
?该方法将返回一个流,需要根据您尝试执行的操作进行特殊处理。也许您可以显示更大部分的代码?例如,在调用
$response->getBody()时,您会得到什么而不是响应数据
?@dbrumann它正在显示流集,但我找不到可以检索的响应。给我2分钟,我将用输出值更新问题。似乎有错误。在postman结果中显示参数有错误。@UlrichDohou是的,正在进行某些更新,请现在检查。正如我所说,主体是流。当您执行
(string)$response->getBody()
这将使其成为一个常规字符串。您还可以使用Guzzle的helper方法
$data=$response->json();
从已经解析的响应中获取数据,当您知道它是json时,json解码((string)
+
true
。很好