阿里云:
服务器购买地址
https://t.aliyun.com/U/8qaNGK
若失效,可用地址
https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d
腾讯云:
https://curl.qcloud.com/wJpWmSfU
若失效,可用地址
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console
华为云
https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905
2.部署教程
3.代码如下
//mt论坛每日签到 https://bbs.binmt.cc/?fromuid=14593
const axios = require("axios");
function mt() {
return new Promise(async (resolve) => {
try {
let cookie = config.mt.cookie || "wenmoux";
let header = {
headers: {
cookie: cookie,
"Referer":"https://bbs.binmt.cc/member.php?mod=logging&action=login&mobile=2"
}
};
res = await axios.get("https://bbs.binmt.cc/k_misign-sign.html", header);
let formhash = res.data.match(/formhash=(.+?)&/);
if (formhash && !res.data.match(/登录/)) {
let signurl = `https://bbs.binmt.cc/k_misign-sign.html?operation=qiandao&format=button&formhash=${formhash[1]}&inajax=1&ajaxtarget=midaben_sign`;
res2 = await axios.get(signurl, header);
if (res2.data.match(/今日已签/)) {
msg = "今天已经签到过啦";
} else if (res2.data.match(/签到成功/)) {
msg1 = res2.data.match(/获得随机奖励.+?金币/);
msg2 = res2.data.match(/已累计签到 \d+ 天/);
msg = "签到成功\n" + msg1 + "\n" + msg2;
} else {
msg = "签到失败!原因未知";
console.log(res2.data);
}
} else {
msg = "cookie失效";
}
console.log(msg);
} catch (err) {
console.log(err);
msg = "签到接口请求出错";
}
resolve("【MT论坛】: " + msg);
});
}
//mt()
module.exports = mt;
这段JavaScript脚本用于实现MT论坛的自动化签到功能。脚本通过axios
库发起HTTP请求来实现签到操作,其主要逻辑包括验证用户状态、提取签到所需的formhash
、并执行签到动作。
配置和请求设置:
通过 config.mt.cookie
获取用户的cookie,若未配置则使用默认值"wenmoux"。header
对象包含了用于HTTP请求的头部信息,主要是 cookie
和Referer
。获取签到页面:
利用 axios.get
访问https://bbs.binmt.cc/k_misign-sign.html
formhash
。
通过正则表达式从响应数据中提取 formhash
值。
执行签到操作:
如果成功获取 formhash
且用户已登录(即页面数据中没有"登录"字样),则构造签到URL并发送GET请求。签到URL包括 formhash
和其他必要的参数,以满足论坛的签到请求格式。处理签到结果:
根据签到后的响应数据,检查是否包含"今日已签"或"签到成功"的信息。 如果签到成功,提取和打印奖励信息(如金币数量和累计签到天数)。 如果未能成功签到,打印失败信息和服务器的响应,以便调试。 错误处理和输出:
捕获并记录任何执行过程中的异常。 无论成功或失败,都将签到结果或错误信息输出。 返回信息:
签到结果通过一个Promise返回,确保可以在异步操作完成后处理输出。 模块导出:
mt
函数被导出,允许在其他文件中通过 require
调用。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论