
在 Rewrite 里只有 reject 返回 404 ,reject-200 (返回 200 但是 Body 里是空)等等,有没有什么方法能拦截请求,并返回 200 以及 提前准备好的假数据(通常是 JSON )?
App -> Request ->QX ->Server 处理 -> QX -> Response -> App
这里QX其实没用,只是为了接下来好理解,因为IOS是全局代理必走QX
App -> Request ->QX -> Response -> App
此处QX截获请求,并返回伪造的Response假数据
1 zivn Oct 8, 2022 Surge 可以 |
2 kera0a Oct 8, 2022 重写规则 类型选 response-body 匹配 URL 写要 拦截的请求 Body 写正则表达式,匹配所有文本 替换 写你要返回的假数据 |
4 christin Oct 8, 2022 via iPhone 可以考虑用脚本,把这个请求拦截掉,手动返回数据。 |
5 killva4624 Oct 8, 2022 Rewrite Remote ,自己写一段 js 就好。 |
7 Gav1nw OP @killva4624 有具体样例可以参考吗? |
9 christin Oct 8, 2022 |
11 christin Oct 8, 2022 @Gav1nw 对啊,你可以用代码把请求拦截掉,手动做一些返回的内容。 我觉得你还是直接说应用场景吧,方法肯定是有的,只是按照你目前的描述实现起来比较麻烦。 |
13 arch9999 Oct 8, 2022 |
14 bronco Oct 8, 2022 via iPhone 圈叉似乎没有提供 loopback 的机制呃…… |
16 love4taylor PRO reject-dict, reject-array |
17 love4taylor PRO @Love4Taylor 哦 不对 你需要的是给定数据不是空数据,这方面 qx 好像确实不太好用 |
18 vaccer Oct 8, 2022 qx 好像不行,surge 倒是可以,有 map local 的功能 |
19 Gav1nw OP @christin 某些打卡类的小程序,打卡显示成功,每次都返回相同的 JSON ,所以根本不用发送到服务器拿到 json 显示,直接 mock 那段 json 即可 |
20 css3 Oct 9, 2022 via iPhone 楼主成功了告诉我一声 |
21 stkstkss Oct 9, 2022 via iPhone 楼主成功了告诉我一声 |
22 Areym Oct 9, 2022 楼主成功了告诉我一声 |
24 archknight Oct 9, 2022 via iPhone 楼主成功了告诉我一声 |
26 peanut0105 Oct 9, 2022 mitm + script-response-body 自己写一段 js 就可以重写返回数据了 |
27 peanut0105 Oct 9, 2022 @peanut0105 console.log("success run scrpit!"); var body = $response.body; var obj = JSON.parse(body); obj.data.sampleDate = "xxxx"; var newBody = JSON.stringify(obj); $done(newBody); |
28 takpap Nov 2, 2022 必须要经过服务器吧,除非你修改 dns / host ,想怎么糊弄客户端都行 |
29 asdfgfd Nov 3, 2022 |
30 woldfoll Jan 15, 2023 via iPhone 重写 script-echo-response 可以实现 |