soulsign-chrome
soulsign-chrome copied to clipboard
鱼c论坛签到怎么搞?学了一上午没学会,求帮助谢谢
https://fishc.com.cn/plugin.php?id=k_misign:sign
如果没有抓到包,可以开启Preserve Log 或者 使用Charles等抓包工具
https://fishc.com.cn/plugin.php?id=k_misign:sign&operation=qiandao&formhash=53c349a1&format=empty&inajax=1&ajaxtarget=JD_sign
这条就是签到的url
看了下,每个人的formhash都不一样 你登陆之后,看看你的是什么,修改一下才行,不知道能不能添加自定义字段这个功能
如果没有抓到包,可以开启Preserve Log 或者 使用Charles等抓包工具
formhash每个人不一样,这种连接怎么弄,能不能实现自动抓取,或者自定义字段
https://soulsign.inu1255.cn/scripts/167
formhash Discuz系列的可以用代码提取类似处理
简单写了个例子, 应该能用, 有问题再说
谢谢大佬们,学习了
发现签到逻辑中的最后一句是直接返回成功的,可能有小 bug ,所以个人修改了下,如果可以而且方便的话,麻烦作者@ViCrack更新下~谢谢
个人修改如下,个人验证是成功的,仅供参考:
exports.run = async function(param) {
// 签到的页面
let resp = await axios.get("https://fishc.com.cn/plugin.php?id=k_misign:sign");
let signhtml = resp.data;
if (signhtml.includes("您的签到排名")){
return "已经签到过";
}
let result = signhtml.match(/<a id="JD_sign" href="(.*?)"/);
if (result == null) {
throw "未登录";
}
let signurl = result[1];
var {
data
} = await axios.get(
"https://fishc.com.cn/" + signurl
);
if (/今日已签/.test(data)) return "任务已完成";
if (/需要先登录/.test(data)) throw "未登录";
let resp1 = await axios.get("https://fishc.com.cn/plugin.php?id=k_misign:sign");
let signhtml1 = resp1.data;
if (signhtml1.includes("您的签到排名")){
let result1 = signhtml1.match(/<input type="hidden" class="hidnum" id="lxreward" value="(.*?)"/);
return "积分奖励: "+ result1[1] + " 鱼币";
}
else throw "未成功签到";
};
@yi-Xu-0100 已经更新