云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】
  TEZNKK3IfmPf 2023年11月14日 43 0

一.前言

现在大多数的网站都有每日签到功能,坚持签到会给相应的奖励,然而我们每天都签到是非常的不容易,难免会出现忘记签到的情况,所以云函数就产生了。 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

像现在大厂给个人用户提供的免费额度已经足够我们使用了。 我们以某网站为例,配置过程如下。 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

二.配置脚本过程

2.1获取某网站的cookie

我们需要先获取某网站的cookie,推荐使用谷歌游览器。我们打开该网站,保证现在处于登录状态。我们随机的发起一个请求,抓包如下: 我们抓到了现在的cookie先复制下来备用。 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

2.2获取uuid、aid和_signature

我们访问该网站的签到页面,筛选:check 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】 查看详细,点击payload,显示uuid、aid和_signature,如下备用。 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】 复制好上面的uuid、aid和_signature和cookie之后,下面就是我们的脚本函数。

2.3 脚本函数

我们写一个如下的脚本函数: 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】 执行文件为app.js。 配置文件在config.js。 我们进入config.js,修改一下参数配置;

module.exports = {
  cookie: '',
  PUSH_PLUS_TOKEN: '',
  aid: '',
  uuid: '',
  _signature: ''
}

2.4 注册plus

wx登录plus会获取到token,复制token。 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

这里的token对应着我们上文的的PUSH_PLUS_TOKEN。

2.5 配置config.js

如上,我们把上面步骤获取到的uuid、aid和_signature和cookie,放到config.js配置函数里。 如下:

云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

三.部署脚本过程

创建云函数 版本选择:Nodejs12.16 选择事件函数 如下配置: 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

进入函数管理,部署事件函数: 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】 配置触发器:每天早上9点自动签到。 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】 点击测试,运行函数,检测部署是否有效。

测试截图: 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】 云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】

测试成功,之后全自动的会每天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()

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   49   0   0 Macchrome
  TEZNKK3IfmPf   2024年03月29日   65   0   0 chrome
TEZNKK3IfmPf