js请求结果拦截机器_写了个chrome插件:拦截ajax请求并修改返回结果!
(不瞒你们说,其实我是个rapper σ`∀´)σ (不
使用示例(视频)
https://weibo.com/tv/v/HlVZD8cR9?fid=1034:4352275389595232
Chrome 商店地址
你也可以直接搜索 Ajax Interceptor 进行安装
注意建议第一次安装完重启浏览器,或者刷新你需要使用的页面。
当你不需要使用该插件时,建议把开关关上(插件icon变为灰色),以免对页面正常浏览造成影响。
该插件只会在JS层面上对返回结果进行修改,即只会修改全局的XMLHTTPRequest对象和fetch方法里的返回值,进而影响页面展现。而你在chrome的devtools的network里看到的请求返回结果不会有任何变化。
大致原理
页面加载时往页面上注入 js 代码,这段 js 会生成一个 XMLHttpRequest 的代理对象,并把 window.XMLHttpRequest 替换成这个对象。该对象又会对 onreadystatechange 和 onload 两个回调函数做特殊处理,在它们执行时把 responseText 和 response 的值覆盖为你设置的值(不过这两个值不是writeable的,要单独处理下)。
其它就是这段页面上的 js 代码和右侧弹出的 iframe (用户界面)以及插件后台代码的一些数据交互和存储上的实现,这部分就不多介绍了~
0.4版本开始也支持修改fetch发起的请求了,稍微复杂一些,感兴趣的可以看一下源码。
更新:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)