Nodejs代码不到50行,实现稀土掘金社区自动签到
发布时间:2024-07-13 17:23 浏览次数:次 作者:zoc7RcITctunhMtq7EzA
我们这里采用的技术栈是Node.js。代码不到50行,先贴上代码。
const Koa = require('koa'); const schedule = require('node-schedule'); const _request = require('request'); const app = new Koa(); // 自定义 const sessionid = ''; // SessionID const url = ''; // Url const options = { url: url, method:'post', headers: { 'cookie': 'sessionid='+ sessionid, }, } // 适配Koa function request(url, options) { return new Promise(function (resolve, reject) { _request(url, options, function (error, response, body) { error && reject(error); resolve(response, body); }) }) } // 输出信息 async function start (ctx, next) { const res = await request(options); console.log(res.body) } const rule = '30 10 0 * * *'; // 每天的凌晨0点10分30秒触发' // 定时任务 const scheduleCronstyle = ()=>{ schedule.scheduleJob(rule,()=>{ start(); }); } app.listen(3000,()=>{ console.log('服务启动成功!'); scheduleCronstyle(); // 定时启动 // start(); // 立即启动 })
这些代码就可以实现一个掘金自动签到功能,再也不用自己手动点击签到了星空体育!
下面,我教大家怎么来进行操作,首先看下源码中的这段代码。星空注册
// 自定义 const sessionid = ''; // SessionID const url = ''; // Url
你需要改动这两行代码,严格来说,你仅仅需要改动一行。为什么呢?下面听我道来。
首先,我们来看下url这个变量是从哪里获取。
在网页登录你的掘金账号; 打开签到页面(如果没签到,就点击签到); 打开控制台,切换到网络选项卡,找到/check_in_rules这个接口,然后把后面的字符串(以aid=开头)复制保存。 然后把刚才保存的字符串拼接到https://api.juejin.cn/growth_api/v1/check_in?后面。例:https://api.juejin.cn/growth_api/v1/check_in?aid=?&uuid=?&_signature=?
以后,你就不用每次都进行上面这些操作了,只需一次。
然后,我们接着看下sessionid这个变量是从何而来的。星空入口
同样,我们打开控制台;因为Cookie有时间期限,但是一般都几个月左右,够用的了。过期了,重新替换下即可。
结语有云服务器的小伙伴,你可以使用pm2持久运行Node应用。
本文转载自微信公众号「前端历劫之路」,可以通过以下二维码关注。转载本文请联系前端历劫之路公众号。
星空平台 星空app