Quantumult X 怎么才能拦截请求并返回假数据

2022-10-08 12:46:47 +08:00
 Gav1nw

在 Rewrite 里只有 reject 返回 404 ,reject-200 (返回 200 但是 Body 里是空)等等,有没有什么方法能拦截请求,并返回 200 以及 提前准备好的假数据(通常是 JSON )?

5257 次点击
所在节点    Apple
30 条回复
zivn
2022-10-08 12:50:46 +08:00
Surge 可以
kera0a
2022-10-08 12:56:17 +08:00
重写规则
类型选 response-body
匹配 URL 写要 拦截的请求
Body 写正则表达式,匹配所有文本
替换 写你要返回的假数据
Gav1nw
2022-10-08 13:16:15 +08:00
@kera0a 用 response-body 的话,请求会到后端,只是篡改了接收的数据,我希望数据压根不发往服务端,只在本地 Mock 一下就好
christin
2022-10-08 13:59:01 +08:00
可以考虑用脚本,把这个请求拦截掉,手动返回数据。
killva4624
2022-10-08 14:03:29 +08:00
Rewrite Remote ,自己写一段 js 就好。
Hurriance
2022-10-08 14:38:03 +08:00
借楼问下有无小伙伴用 Quantumult X 看 b 站经常卡顿的问题,关掉代理就又可以了
Gav1nw
2022-10-08 17:32:09 +08:00
@killva4624 有具体样例可以参考吗?
Gav1nw
2022-10-08 17:32:45 +08:00
@christin 这是什么意思?
christin
2022-10-08 17:51:49 +08:00
Gav1nw
2022-10-08 18:36:59 +08:00
@christin 我看了一下这个用的 script-response-body ,修改的是 已经 经过服务端返回的数据呀
christin
2022-10-08 19:09:53 +08:00
@Gav1nw 对啊,你可以用代码把请求拦截掉,手动做一些返回的内容。
我觉得你还是直接说应用场景吧,方法肯定是有的,只是按照你目前的描述实现起来比较麻烦。
christin
2022-10-08 19:10:41 +08:00
@Hurriance 你看一下 b 站链接走的哪个分流,可能是分流的问题导致 b 站视频走了国外代理导致的。
arch9999
2022-10-08 19:16:39 +08:00
bronco
2022-10-08 21:30:36 +08:00
圈叉似乎没有提供 loopback 的机制呃……
SenLief
2022-10-08 21:35:35 +08:00
@Hurriance 先看一下 B 站是不是被分流了,另外 b 站的 cdn 有问题,可以重写一下 cdn ,加载就会好很多。
Love4Taylor
2022-10-08 21:39:44 +08:00
reject-dict, reject-array
Love4Taylor
2022-10-08 21:41:09 +08:00
@Love4Taylor 哦 不对 你需要的是给定数据不是空数据,这方面 qx 好像确实不太好用
vaccer
2022-10-08 22:42:12 +08:00
qx 好像不行,surge 倒是可以,有 map local 的功能
Gav1nw
2022-10-08 22:48:52 +08:00
@christin 某些打卡类的小程序,打卡显示成功,每次都返回相同的 JSON ,所以根本不用发送到服务器拿到 json 显示,直接 mock 那段 json 即可
css3
2022-10-09 08:17:41 +08:00
楼主成功了告诉我一声

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/885221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX