Quantumult X 怎么才能拦截请求并返回假数据 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Gav1nw
V2EX    Apple

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

  •  
  •   Gav1nw 2022-10-08 12:46:47 +08:00 6339 次点击
    这是一个创建于 1104 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言    2022-10-12 18:59:21 +08:00

    可能我的描述不准确,在此重新澄清一下:

    正常的流程

    App -> Request ->QX ->Server 处理 -> QX -> Response -> App

    这里QX其实没用,只是为了接下来好理解,因为IOS是全局代理必走QX

    我的期望:

    App -> Request ->QX -> Response -> App

    此处QX截获请求,并返回伪造的Response假数据

    30 条回复    2023-01-15 16:29:47 +08:00
    zivn
        1
    zivn  
       2022-10-08 12:50:46 +08:00
    Surge 可以
    kera0a
        2
    kera0a  
       2022-10-08 12:56:17 +08:00
    重写规则
    类型选 response-body
    匹配 URL 写要 拦截的请求
    Body 写正则表达式,匹配所有文本
    替换 写你要返回的假数据
    Gav1nw
        3
    Gav1nw  
    OP
       2022-10-08 13:16:15 +08:00
    @kera0a 用 response-body 的话,请求会到后端,只是篡改了接收的数据,我希望数据压根不发往服务端,只在本地 Mock 一下就好
    christin
        4
    christin  
       2022-10-08 13:59:01 +08:00 via iPhone
    可以考虑用脚本,把这个请求拦截掉,手动返回数据。
    killva4624
        5
    killva4624  
       2022-10-08 14:03:29 +08:00
    Rewrite Remote ,自己写一段 js 就好。
    Hurriance
        6
    Hurriance  
       2022-10-08 14:38:03 +08:00
    借楼问下有无小伙伴用 Quantumult X 看 b 站经常卡顿的问题,关掉代理就又可以了
    Gav1nw
        7
    Gav1nw  
    OP
       2022-10-08 17:32:09 +08:00
    @killva4624 有具体样例可以参考吗?
    Gav1nw
        8
    Gav1nw  
    OP
       2022-10-08 17:32:45 +08:00
    @christin 这是什么意思?
    Gav1nw
        10
    Gav1nw  
    OP
       2022-10-08 18:36:59 +08:00
    @christin 我看了一下这个用的 script-response-body ,修改的是 已经 经过服务端返回的数据呀
    christin
        11
    christin  
       2022-10-08 19:09:53 +08:00
    @Gav1nw 对啊,你可以用代码把请求拦截掉,手动做一些返回的内容。
    我觉得你还是直接说应用场景吧,方法肯定是有的,只是按照你目前的描述实现起来比较麻烦。
    christin
        12
    christin  
       2022-10-08 19:10:41 +08:00   1
    @Hurriance 你看一下 b 站链接走的哪个分流,可能是分流的问题导致 b 站视频走了国外代理导致的。
    arch9999
        13
    arch9999  
       2022-10-08 19:16:39 +08:00   1
    bronco
        14
    bronco  
       2022-10-08 21:30:36 +08:00 via iPhone
    圈叉似乎没有提供 loopback 的机制呃……
    SenLief
        15
    SenLief  
       2022-10-08 21:35:35 +08:00   1
    @Hurriance 先看一下 B 站是不是被分流了,另外 b 站的 cdn 有问题,可以重写一下 cdn ,加载就会好很多。
    love4taylor
        16
    love4taylor  
    PRO
       2022-10-08 21:39:44 +08:00
    reject-dict, reject-array
    love4taylor
        17
    love4taylor  
    PRO
       2022-10-08 21:41:09 +08:00
    @Love4Taylor 哦 不对 你需要的是给定数据不是空数据,这方面 qx 好像确实不太好用
    vaccer
        18
    vaccer  
       2022-10-08 22:42:12 +08:00
    qx 好像不行,surge 倒是可以,有 map local 的功能
    Gav1nw
        19
    Gav1nw  
    OP
       2022-10-08 22:48:52 +08:00
    @christin 某些打卡类的小程序,打卡显示成功,每次都返回相同的 JSON ,所以根本不用发送到服务器拿到 json 显示,直接 mock 那段 json 即可
    css3
        20
    css3  
       2022-10-09 08:17:41 +08:00 via iPhone
    楼主成功了告诉我一声
    stkstkss
        21
    stkstkss  
       2022-10-09 09:30:37 +08:00 via iPhone
    楼主成功了告诉我一声
    Areym
        22
    Areym  
       2022-10-09 10:28:40 +08:00
    楼主成功了告诉我一声
    christin
        23
    christin  
       2022-10-09 14:17:10 +08:00 via iPhone
    @Gav1nw 那服务器端就没有收到你的打卡记录啊,后面再看就没有打卡了。
    archknight
        24
    archknight  
       2022-10-09 15:45:15 +08:00 via iPhone
    楼主成功了告诉我一声
    Gav1nw
        25
    Gav1nw  
    OP
       2022-10-09 16:08:21 +08:00
    @christin 目的就是不让服务端感知到,只是糊弄本地的小程序
    peanut0105
        26
    peanut0105  
       2022-10-09 18:59:46 +08:00
    mitm + script-response-body 自己写一段 js 就可以重写返回数据了
    peanut0105
        27
    peanut0105  
       2022-10-09 18:59:59 +08:00
    @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);
    takpap
        28
    takpap  
       2022-11-02 17:51:46 +08:00
    必须要经过服务器吧,除非你修改 dns / host ,想怎么糊弄客户端都行
    asdfgfd
        29
    asdfgfd  
       2022-11-03 19:51:36 +08:00
    hs dddd, Github 搜索域名找到可用的脚本, 请求 302 到 abc.com, 重写 mitm abc.com js 返回结果, 建议改 alipay 的, 可以拦掉 log
    woldfoll
        30
    woldfoll  
       2023-01-15 16:29:47 +08:00 via iPhone
    重写 script-echo-response 可以实现
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2877 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:11 PVG 22:11 LAX 07:11 JFK 10:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86