当前位置: 首页 > 科技观察

Node.js代码不到50行,实现了稀土掘金社区的自动签到

时间:2023-03-16 13:51:53 科技观察

我们这里使用的技术栈是Node.js。如果代码少于50行,请先粘贴代码。constKoa=require('koa');constschedule=require('node-schedule');const_request=require('request');constapp=newKoa();//自定义constsessionid='';//SessionIDconsturl='';//urlconstoptions={url:url,method:'post',headers:{'cookie':'sessionid='+sessionid,},}//适配Koafunctionrequest(url,options){returnnewPromise(function(resolve,reject){_request(url,options,function(error,response,body){error&&reject(error);resolve(response,body);})})}//输出信息asyncfunctionstart(ctx,next){constres=awaitrequest(options);console.log(res.body)}consrule='30100***';//每天00:10:30触发'//定时任务constscheduleCronstyle=()=>{schedule.scheduleJob(rule,()=>{start();});}app.listen(3000,()=>{console.log('服务启动成功!');scheduleCronstyle();//定时启动//start();//马上开始})这些代码可以实现掘金自动签到功能,再也不用手动点击签到了!下面自定义,教大家如何操作。首先,在源代码中查看这段代码。//Customconstsessionid='';//SessionIDconsturl='';//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选项,点击https://juejin.cn;找到sessionid名称,复制对应的值。因为cookies是有时间限制的,不过一般几个月左右就够了。过期了,重新换吧。结语对于有云服务器的朋友,可以使用pm2来持久化运行Node应用。本文转载自微信公众号《前端之路》,可通过以下二维码关注。转载本文请联系前端公众号。