2025年2月20日星期四

HiFiNi任务脚本

1.购买服务器

阿里云:

服务器购买地址

https://t.aliyun.com/U/wrtp9T

若失效,可用地址

https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d

腾讯云:

https://curl.qcloud.com/wJpWmSfU

若失效,可用地址

https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console

华为云

https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

2.部署教程

2024年最新青龙面板跑脚本教程(一)持续更新中

3.代码如下

const axios = require('axios');const headers = {    'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',    "X-Requested-With": "XMLHttpRequest",    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',    "cookie": config.hifini.cookie};
async function getSign() { const url = 'https://www.hifini.com/sg_sign.htm'; try { const res = await axios.get(url, {headers}); const sign = res.data.match(/sign = \"(.*?)\";/); return sign[1]; } catch (err) { console.error("获取sign出错", err); return null; }}
async function task() { const url = 'https://www.hifini.com/sg_sign.htm'; const sign = await getSign(); if (!sign) return "【HiFiNi每日签到】:签到接口请求出错";
try { const res = await axios.post(url, {sign}, {headers}); const msg = res.data.message; console.log(msg); return "【HiFiNi每日签到】:" + msg; } catch (err) { console.error("签到接口请求出错", err); return "【HiFiNi每日签到】:签到接口请求出错"; }}
module.exports = task; 

解析

这个脚本是用来自动化HiFiNi网站的每日签到功能。

1. 配置请求头

  • 使用了 axios 发送 HTTP 请求,设置了请求头 headers,包括:

    • content-type: 设置请求体类型为 application/x-www-form-urlencoded,表明发送的内容是 URL 编码格式。

    • X-Requested-With: 设置为 XMLHttpRequest,通常用于表示 AJAX 请求。

    • user-agent: 设置为浏览器的标识,模拟浏览器请求。

    • cookie: 从 config.hifini.cookie 获取的 cookie,通常包含登录后的会话信息,用于保持会话状态。

2. 获取 sign:

  • getSign 函数通过发送一个 GET 请求到

https://www.hifini.com/sg_sign.htm

面,获取页面内容并从中提取 sign 字段。

  • 使用 res.data.match(/sign = \"(.*?)\";/) 正则表达式来从页面源码中提取 sign 的值。

3. 签到操作:

  • task 函数首先调用 getSign 获取 sign,如果获取失败,则返回签到失败的消息。

  • 获取到 sign 后,发送 POST 请求到同一个 URL,并将 sign 作为请求数据提交。请求头与之前相同。

  • 根据返回的响应,获取 message 字段并输出签到结果。

4. 错误处理

  • 在请求过程中,如果发生错误,会捕获并输出错误信息,同时返回相应的错误提示。

5. 模块导出

  • module.exports = task; 使得 task 函数可以在其他文件中调用。


注意

本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。



没有评论:

发表评论

别再打工了,在小区附近做这3个暴利小生意,一天五六百,即使经济不好,也比上班强多了!

打工一辈子也难翻身,自己创业才是出路。 小区人口集中,需求多,是做小生意的好地方。 下面介绍三个在小区附近就能做的小生意,投入不大,日收入五六百,比上班强多了。 一、小区早餐摊位 俗话说"早餐养胃,午餐养气,晚餐养命"。 现在人们生活节奏快,很多上班族和学...