V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gitignore
V2EX  ›  程序员

chrome 浏览器如何修改请求响应数据,类似 charles edit response

  •  
  •   gitignore · 2023-03-04 15:40:47 +08:00 · 1953 次点击
    这是一个创建于 634 天前的主题,其中的信息可能已经有所发展或是发生改变。

    起因是访问某个网站,提示只能用 IE 浏览器访问。

    看了下代码,打开页面 http://xxx.com/login.aspx 时返回的 html 中有一段脚本,检测到非 IE 浏览器会跳转页面

    window.onload = function() {
    	if (!(!+"\v1")) {
        	window.location.href = "..."
        }
    }
    

    于是想通过 charles 修改响应的 html ,将 if(...) { 替换为 if (false) {

    但 chrome 有没有什么插件可以达到此目的呢?

    看了下 ReRes 应该有此功效,但插件已下架。

    其次 xswitch ,不能用于修改 response

    8 条回复    2023-03-06 11:09:22 +08:00
    seers
        1
    seers  
       2023-03-04 19:31:00 +08:00 via iPhone   ❤️ 1
    chrome 可以把页面或者脚本 map 到 local 文件,然后你想怎么改都行
    lisongeee
        2
    lisongeee  
       2023-03-04 19:39:14 +08:00   ❤️ 1
    chrome 插件的 api 只能修改 response headers 不能修改 response body
    MossFox
        3
    MossFox  
       2023-03-04 19:40:13 +08:00   ❤️ 1
    cccer
        4
    cccer  
       2023-03-04 20:15:24 +08:00
    可以尝试使用油猴注入脚本,把 window.location.href 给替换掉
    wbzd
        5
    wbzd  
       2023-03-05 11:03:31 +08:00 via Android
    Chrome 网上应用店搜索:Header Editor
    gitignore
        6
    gitignore  
    OP
       2023-03-06 11:06:36 +08:00
    @seers #1 太棒了! Chrome DevTools 的 Source 工具面板可以直接修改文件内容,且刷新后也生效,实现了预期效果🎉🎉🎉
    gitignore
        7
    gitignore  
    OP
       2023-03-06 11:07:59 +08:00
    @cccer 之前尝试了一下油猴,不过似乎只有注入脚本的功能。但我这个场景里是浏览器访问 url 时响应的 html 存在 window.onload 检测跳转,油猴插件似乎不能修改 url 返回的 html 内容,因此没深究,用 1 楼的 Chrome DevTools 完美解决
    gitignore
        8
    gitignore  
    OP
       2023-03-06 11:09:22 +08:00
    @wbzd 谢谢~看了下只能修改 header 不能修改 body ,如 #2 所说可能是 Chrome 插件未开发修改 body 的权限吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1542 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:06 · PVG 01:06 · LAX 09:06 · JFK 12:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.