当前位置:网站首页>云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】
云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】
2022-08-04 08:57:00 【上进小菜猪】
文章目录
一.前言
现在大多数的网站都有每日签到功能,坚持签到会给相应的奖励,然而我们每天都签到是非常的不容易,难免会出现忘记签到的情况,所以云函数就产生了。
像现在大厂给个人用户提供的免费额度已经足够我们使用了。
我们以某网站为例,配置过程如下。
二.配置脚本过程
2.1获取某网站的cookie
我们需要先获取某网站的cookie,推荐使用谷歌游览器。我们打开该网站,保证现在处于登录状态。我们随机的发起一个请求,抓包如下:
我们抓到了现在的cookie先复制下来备用。
2.2获取uuid、aid和_signature
我们访问该网站的签到页面,筛选:check
查看详细,点击payload,显示uuid、aid和_signature,如下备用。
复制好上面的uuid、aid和_signature和cookie之后,下面就是我们的脚本函数。
2.3 脚本函数
我们写一个如下的脚本函数:
执行文件为app.js。
配置文件在config.js。
我们进入config.js,修改一下参数配置;
module.exports = {
cookie: '',
PUSH_PLUS_TOKEN: '',
aid: '',
uuid: '',
_signature: ''
}
2.4 注册plus
wx登录plus会获取到token,复制token。
这里的token对应着我们上文的的PUSH_PLUS_TOKEN。
2.5 配置config.js
如上,我们把上面步骤获取到的uuid、aid和_signature和cookie,放到config.js配置函数里。
如下:
三.部署脚本过程
创建云函数
版本选择:Nodejs12.16
选择事件函数
如下配置:
进入函数管理,部署事件函数:
配置触发器:每天早上9点自动签到。
点击测试,运行函数,检测部署是否有效。
测试截图:
测试成功,之后全自动的会每天9点准时签到领取奖励。nice
四,脚本代码分享
主要脚本代码,api已去掉。
const got = require('got')
const {
cookie, aid, uuid, _signature, PUSH_PLUS_TOKEN } = require('./config')
const BASEURL = 'https:XXXX'
const PUSH_URL = 'http:XXXXX' // 推送api
const URL = `${
BASEURL}?aid=${
aid}&uuid=${
uuid}&_signature=${
_signature}`
const DRAW_URL = `https:xxxxx`
const HEADERS = {
cookie,
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67'
}
// 签到
async function signIn () {
const res = await got.post(URL, {
hooks: {
beforeRequest: [
options => {
Object.assign(options.headers, HEADERS)
}
]
}
})
console.log(res.body)
draw()
if (!PUSH_PLUS_TOKEN) return
handlePush(res.body)
}
async function draw () {
const res = await got.post(DRAW_URL, {
hooks: {
beforeRequest: [
options => {
Object.assign(options.headers, HEADERS)
}
]
}
})
console.log(res.body)
}
// push
async function handlePush (desp) {
const body = {
token: `${
PUSH_PLUS_TOKEN}`,
title: `签到结果`,
content: `${
desp}`
};
const res = await got.post(PUSH_URL, {
json: body
})
console.log(res.body)
}
signIn()
边栏推荐
猜你喜欢
2022-08-02 分析RK817 输出32k clock PMIC_32KOUT_WIFI给WiFi模块 clock 注册devm_clk_hw_register
【论文笔记】Delving into the Estimation Shift of Batch Normalization in a Network
【论文笔记】Dynamic Convolution: Attention over Convolution Kernels
[STM32] STM32F103 series name and package, memory
C Language Lectures from Scratch Part 6: Structure
Grafana9.0发布,Prometheus和Loki查询生成器、全新导航、热图面板等新功能!
inject() can only be used inside setup() or functional components.
『递归』递归概念与典型实例
grafana手册之可视化配置图表table
字符流与字节流的区别
随机推荐
去掉js代码文件所有注释
Yolov5 replaces the backbone network of "Megvii Lightweight Convolutional Neural Network ShuffleNetv2"
区分惯性环节与延迟环节
有坦荡的远方
华为设备配置VRRP与路由联动监视上行链路
【论文笔记】Understanding Long Programming Languages with Structure-Aware Sparse Attention
LVGL的多语言转换工具--字体设置的好助手
How to write patents are more likely to pass?
华为od项目
sql在字段重复时 对某个字段根据最新时间取数
金仓数据库KingbaseES客户端编程接口指南-JDBC(7. JDBC事务处理)
Libpq 是否支持读写分离配置
Yolov5更换主干网络之《旷视轻量化卷积神经网络ShuffleNetv2》
使用单调栈解决接雨水问题——LeetCode 42 接雨水+单调栈说明
大佬们,mysql里text类型的字段,FlinkCDC需要特殊处理吗 就像处理bigint uns
继承和static关键字
金仓数据库KingbaseES客户端编程接口指南-JDBC(6. JDBC 大对象数据处理)
【论文笔记】Delving into the Estimation Shift of Batch Normalization in a Network
Typora颜色公式代码大全
一道[CSCCTF 2019 Qual]FlaskLight的详解再遇SSTI