如何强制Guzzle返回JSON响应而不是完整消息?

时间:2017-08-19 06:56:00

标签: php request guzzle

当我使用Guzzle发送请求时,它会返回完整的错误消息而不解析内部的JSON。以下是它的外观:

  

“”“客户端错误:POST http://someurl.com导致了错误   409 Conflict响应:\ n {\ r \ n“n”错误“:[\ r \ n       “展望已经在此活动中”\ r \ n] \ r \ n} \ n“”“

当我通过Postman发送相同的请求时,它确实返回正确解析的响应消息。

enter image description here

如何让Guzzle只返回消息 - 而不是完整的回复?

2 个答案:

答案 0 :(得分:1)

目前尚不清楚你是如何得到上面的字符串的。看起来像Guzzle的异常转换为字符串。顺便说一句,该字符串包含与您在Postman中看到的相同的数据。

只需将$response->getBody()->getContents()用作Alive to Die suggested

答案 1 :(得分:0)

遇到与您相同的问题。您必须通过以下方式设置“食人鱼”调用:

//user@192.168.0.10/share
3.6Ti
1.0Ti
2.7Ti
28%
264402606
712347471
27%
/private/tmp/mount something    here

这里的关键是'http_errors'=>错误行。这将删除错误字符串,并仅返回JSON数据。

希望能回答这个问题。