V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
huahsiung
V2EX  ›  程序员

HTTP 前端调试如何拦截跳转?

  •  
  •   huahsiung · 2023-09-12 18:08:22 +08:00 · 1210 次点击
    这是一个创建于 469 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网页跳转有 http 302 跳转 <meta http-equiv="refresh"> 和 window.location 。

    302 和 window.location 跳转的时候会清除控制台,记录就没有了。

    而网上搜到的“拦截弹出式窗口”,只能阻止 window.open 方法。

    找到其他方法如:用 Burp Suite 或者 Fiddler 确实可以留下记录,但是调试网页一点也不方便,也没有控制台。

    有什么办法可以暂停 http 302 ,window.location 自动跳转。好像自动跳转后控制台记录就没有了。

    难道可以重写 window.location 方法??,那么 http 302 怎么办呢
    5 条回复    2023-09-19 10:30:44 +08:00
    xiangyuecn
        1
    xiangyuecn  
       2023-09-12 18:13:28 +08:00   ❤️ 2
    勾选 Preserve log ?
    netnr
        2
    netnr  
       2023-09-12 18:47:22 +08:00 via Android
    如果是 1 楼这个需求(推断原始需求是保留记录),而 OP 问了自己想到的解决办法出现的新问题,所以原始需求就显得特别重要,少走弯路
    前面有看到类似的回复,有感而发
    huahsiung
        3
    huahsiung  
    OP
       2023-09-12 19:41:58 +08:00
    @xiangyuecn 没想到确实可以这样用,chrome 下叫“保存日志”,firefox 下叫“持续记录”。

    通过重写 window.对象,和 Burp 暂停 http 3xx 确实有点绕路了。
    ajan
        4
    ajan  
       2023-09-12 23:26:43 +08:00 via Android
    可以利用 window.onbeforeunload
    CC11001100
        5
    CC11001100  
       2023-09-19 10:30:44 +08:00
    看到一楼已经满足了 op 的需求,但还是在此贴一下,如#4 楼所说,可以利用页面 unload 事件拦截,这是之前写过的一个拦截网页跳转的通杀的脚本😀:

    https://github.com/JSREI/page-redirect-code-location-hook
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:11 · PVG 20:11 · LAX 04:11 · JFK 07:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.