这里的脚本模式的话,讲真,其实会qx的脚本的朋友来说,这个一看就会玩了,只不过还有一些螃蟹的特有的你得注意了。我之前也有讲过怎么讲规则转脚本,当然讲的是简单的响应体修改,你们依葫芦画瓢是能完成的,但是这个的话模板给到你们,要多去举一反三。我在公众号只会分享方法,并且不会针对于哪个应用去说明,我自己的小程序随便你们去修改,但是别ddos我,感谢你们。
脚本写法跟之前的写法是有点不一样的,视频的话我再发一下,不懂的可以再看一下。视频中的脚本模板,或者是链接转化的快捷指令在这里。
关于Qx教程视频的附件资源
我们拿到这个脚本,这个脚本放到qx中是完全没问题的,但是你如果放到螃蟹中,你这个脚本是运行不起来的。不信的话你试试?? 这是什么原因呢?我这个模板大家用起来都知道,一开始定义一个响应体和请求链接,然后再加个请求链接的判断,来定位清楚数据的位置,精确地进行修改,然后这种写法能在Qx,surge这类软件中实现,却在螃蟹里面实现不来,具体的功能哪里有区别呢,我也有在问作者。我估计是一种运作的模式不一样吧,这个我就不说了。
螃蟹这边是不能同时获取请求链接和响应体的呢,要进行选择,所以说我们视频里的这种写法在螃蟹这,就会报错,行不通了。
/*******************************
[rewrite_local]
^https:\/\/uu\.tuanyougou\.com\/\/video url script-response-body https://raw./hhse/Mul4hong/master/mumu.js
[mitm]
hostname = uu.tuanyougou.com
*******************************/
var body = $response.body;
var url = $request.url;
var obj = JSON.parse(body);
const mumu = '/registryUser';
if (url.indexOf(mumu) != -1) {
obj.data.isVip = 1;
obj.data.endTime = '木木讲完啦';
body = JSON.stringify(obj);
}
$done({body});
上面是平常的写法
既然我们要修改的是响应体,那肯定我们选择的类型就是响应,我们没办法获取请求链接的话,我们只能不进行获取请求url匹配了。我们直接把对应的链接写完整/也可进行模糊匹配,比如,在新手模式中将域名,Path等,填写好。
var body = $response.body;
//我们就没有进行请求链接匹配了
var obj = JSON.parse(body);
//直接对对应链接的响应体进行修改,只要符合的都会改成功
//这种写法圈×等也同样适用,只不过我之前那样写比较严谨,也是因为习惯了
obj.data.isVip = 1;
obj.data.endTime = '你牛逼木木讲完了!!';
body = JSON.stringify(obj);
$done({body});
以上写法,就是螃蟹的修改响应体的方法了,这种写法也适用于圈x等软件,这种固然简单易懂,并且不没有 if语句,我偶尔是有这样写的,图方便。毕竟只修改响应体的话这样也就够用了。假如有一些并不是json格式的响应体的话,JSON.parse(body) 以及 JSON.stringify(obj) 都不需要有了。
大家可以去试一试,本地的写法这样就完全可以的。木木会抽空更新一些自己的方法,大家多举一反三哦,之后恢复更新了,大家等久了。
对了,如果要用螃蟹调用远程脚本的话就要用到代理加速了。GitHub上的raw那是要魔法的哦。
比如脚本地址:
https://raw./hhse/Mul4hong/master/mumu02.js
那我们添加进螃蟹的话就要用代理加速,在链接开头加上https:///
https:///https://raw./hhse/Mul4hong/master/mumu02.js