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

开发 前端
我们这里采用的技术栈是Node.js。你需要改动这两行代码,严格来说,你仅仅需要改动一行。为什么呢?下面听我道来。

我们这里采用的技术栈是Node.js。代码不到50行,先贴上代码。

  1. const Koa = require('koa'); 
  2. const schedule = require('node-schedule'); 
  3. const _request = require('request'); 
  4. const app = new Koa(); 
  5.  
  6. // 自定义 
  7. const sessionid = ''; // SessionID 
  8. const url = ''; // Url 
  9.  
  10. const options = { 
  11.     url: url, 
  12.     method:'post'
  13.     headers: { 
  14.         'cookie''sessionid='+ sessionid, 
  15.     }, 
  16. // 适配Koa 
  17. function request(url, options) { 
  18.     return new Promise(function (resolve, reject) { 
  19.         _request(url, options, function (error, response, body) { 
  20.             error && reject(error); 
  21.             resolve(response, body); 
  22.         }) 
  23.     }) 
  24. // 输出信息 
  25. async function start (ctx, next) { 
  26.     const res = await request(options); 
  27.     console.log(res.body) 
  28. const rule = '30 10 0 * * *'; // 每天的凌晨0点10分30秒触发' 
  29. // 定时任务 
  30. const scheduleCronstyle = ()=>{ 
  31.     schedule.scheduleJob(rule,()=>{ 
  32.         start(); 
  33.     }); 
  34. app.listen(3000,()=>{ 
  35.     console.log('服务启动成功!'); 
  36.     scheduleCronstyle(); // 定时启动 
  37.     // start(); // 立即启动 
  38. }) 

这些代码就可以实现一个掘金自动签到功能,再也不用自己手动点击签到了!

自定义

下面,我教大家怎么来进行操作,首先看下源码中的这段代码。

  1. // 自定义 
  2. const sessionid = ''; // SessionID 
  3. 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选项,点击https://juejin.cn;
  • 找到sessionid名称,复制对应值即可。

因为Cookie有时间期限,但是一般都几个月左右,够用的了。过期了,重新替换下即可。

结语 

有云服务器的小伙伴,你可以使用pm2持久运行Node应用。

本文转载自微信公众号「前端历劫之路」,可以通过以下二维码关注。转载本文请联系前端历劫之路公众号。

 

责任编辑:武晓燕 来源: 前端历劫之路
相关推荐

2022-05-05 08:02:44

MongoDBNode.js加密

2012-02-02 15:14:29

Node.js

2013-11-01 09:34:56

Node.js技术

2011-12-23 13:58:57

node.js

2015-03-10 10:59:18

Node.js开发指南基础介绍

2021-07-16 04:56:03

NodejsAddon

2021-05-05 11:36:31

Node前端自动化热重载页面

2021-03-09 08:03:21

Node.js 线程JavaScript

2021-02-26 13:18:38

Node.js漏洞代码

2011-09-08 13:46:14

node.js

2011-09-02 14:47:48

Node

2011-11-01 10:30:36

Node.js

2011-09-09 14:23:13

Node.js

2024-03-11 08:11:27

Node.js.NET低代码平台

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2022-04-02 06:04:03

Node.js代码缓存V8

2014-04-10 09:43:00

Node.jsTwilio

2018-01-23 09:17:22

Python人脸识别
点赞
收藏

51CTO技术栈公众号