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

Chrome 的 bug 还是其他原因?(Dev Tools 不显示 http response body)

  •  
  •   godlovesxcjtest · 2020-04-02 10:06:29 +08:00 · 1360 次点击
    这是一个创建于 1697 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究瓜子二手车这个网站, https://www.guazi.com/dezhou/dazhong/ 发现一个令人头疼的事:

    1. 初次访问这个网站时,会返回 http 203,同时还返回一个混淆过的脚本,这个脚本用来生成 cookies 参数,同时,这个脚本还会再次访问请求网址,并携带 cookie 参数,此时 http code 是 200,并且正常返回内容了,如下图,有两个请求,一个是 200,另一个是 203 GG3ky4.png
    2. 我用 Chrome 抓包发现,第一个请求 的 http response 中显示没有数据,但是我用 burpsuite 抓包确可以看到 body 中返回了这个脚本 chrome 不显示返回内容 burpsuite 可以看到

    这是 chrome 的 bug,还是因为其他原因呢?

    12 条回复    2020-04-02 16:13:46 +08:00
    chanchan
        1
    chanchan  
       2020-04-02 13:03:57 +08:00
    右键 Copy response 看看
    godlovesxcjtest
        2
    godlovesxcjtest  
    OP
       2020-04-02 15:15:59 +08:00
    @chanchan #1 还是那样,什么都看不到
    sarlanori
        3
    sarlanori  
       2020-04-02 15:26:16 +08:00
    我能想到的原因有两个:

    1 、返回的数据有问题,比如加密混淆过的,devtools 解不出来
    2 、devtools 正在解析的时候发生跳转,导致解析失败

    你可以尝试在返回数据的源码那里下断点看看返回结果到底是啥。
    sarlanori
        4
    sarlanori  
       2020-04-02 15:29:49 +08:00
    @sarlanori 我试了下,我这里是返回正常的。
    godlovesxcjtest
        5
    godlovesxcjtest  
    OP
       2020-04-02 15:39:32 +08:00
    @sarlanori #4 您这里可以看到第一个请求返回的脚本?我在网上搜了下,好像有很多人也和我的问题一样,看不到这个响应
    godlovesxcjtest
        6
    godlovesxcjtest  
    OP
       2020-04-02 15:41:04 +08:00
    @chanchan #1
    @sarlanori #3
    试了下,firefox 可以看到,chrome 以及基于 chromium 的 edge 都看不到
    cyndihuifei
        7
    cyndihuifei  
       2020-04-02 15:42:31 +08:00
    应该是 chrome 不显示跨域接口的返回值吧?看看接口地址和页面地址是不是跨域
    godlovesxcjtest
        8
    godlovesxcjtest  
    OP
       2020-04-02 15:44:29 +08:00
    @cyndihuifei #7 不是跨域
    sarlanori
        9
    sarlanori  
       2020-04-02 15:51:47 +08:00
    我用的 Linux 下的 Chrome,版本 73.0.3683.86 (正式版本)( 64 位),可以看到结果。
    goofool
        10
    goofool  
       2020-04-02 16:06:43 +08:00
    页面刷新了
    SunriseFox
        11
    SunriseFox  
       2020-04-02 16:13:07 +08:00   ❤️ 1
    确实有这个问题,原因应该是页面重新加载了所以上一次加载的上下文丢失掉了...
    可以在 Event Listener Breakpoint -> Script -> Script First Statement 处加断点,发现脚本调用了 xredirect (实际上是 location.replace ),页面刷新 devtools 就丢弃了上次响应的内容
    hronro
        12
    hronro  
       2020-04-02 16:13:46 +08:00 via iPhone   ❤️ 1
    存在许久的 BUG 了,我每次都是 COPY AS CURL 然后在 CURL 里面查看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1015 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.