V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
s609926202
V2EX  ›  问与答

PHP 使用 GuzzleHttp 不能获取完整的响应内容?

  •  
  •   s609926202 · 2020-01-04 11:17:33 +08:00 · 1860 次点击
    这是一个创建于 1546 天前的主题,其中的信息可能已经有所发展或是发生改变。

    同一个接口,直接在浏览器中打开的响应内容是:

    {a: [], b: true, c: false}

    使用 GuzzleHttp 获取的响应内容是( json_decode($response->getBody()->getContents())):

    {b: true}

    可以看到凡是值为空或者 false 的都被过滤掉了。所以如何获取完整的响应?

    5 条回复    2020-01-04 15:27:52 +08:00
    dobelee
        1
    dobelee  
       2020-01-04 13:36:37 +08:00 via iPhone
    你是不是加了什么过滤?不要 decode 看看内容。
    s609926202
        2
    s609926202  
    OP
       2020-01-04 13:38:20 +08:00
    @dobelee 查看 getContents()后的内容也是缺少值为空的结果、
    lshero
        3
    lshero  
       2020-01-04 13:41:19 +08:00
    $response->getBody() 内置了 tostring 方法 直接 strval($response->getBody())
    PHPJit
        4
    PHPJit  
       2020-01-04 15:02:53 +08:00
    打印 `$response->getBody()->getContent()`
    askfilm
        5
    askfilm  
       2020-01-04 15:27:52 +08:00
    我觉得问题应该改一下, "PHP 使用 GuzzleHttp 怎样获取完整的响应内容?"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3571 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:58 · PVG 12:58 · LAX 21:58 · JFK 00:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.