1.购买服务器
阿里云:
服务器购买地址
https://t.aliyun.com/U/kcrvBe
若失效,可用地址
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.部署教程
3.代码如下
let type = config.coolbuy.type
let xcsrftoken = config.coolbuy.xcsrftoken
let authorization = config.coolbuy.authorization
let cookie = config.coolbuy.cookie
let result = ""
let lotterycs = 0
const axios = require("axios")
let headers = {
"content-type": "application/json;charset=UTF-8",
origion: "https://coolbuy.com",
host: "coolbuy.com",
"user-agent": "Mozilla/5.0 (Linux; Android 10; Redmi K30) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36",
referer: "https://coolbuy.com/article/994/?tabbar=hidden&task_finished_modal_show",
cookie
}
if (type == "wx") {
headers["x-csrftoken"] = null
headers["x-pepe-merchant-id"] = 1
headers["x-requested-with"] = "com.tencent.mm"
headers["authorization"] = authorization
} else {
headers["x-csrftoken"] = xcsrftoken
headers["sec-ch-ua-mobile"] = "?1"
}
function interact(id) {
return new Promise(async (resolve) => {
try {
let url = "https://coolbuy.com/api/v1.4/page/point/"
let data = {
"page_id": id
}
let res = await axios.post(url, data, {
headers
})
console.log(res.data)
if (res.data.status == "valid") {
console.log("阅读奖励领取成功")
} else {
console.log(res.data)
}
} catch (err) {
console.log(err.response.data);
}
resolve();
});
}
function sign() {
return new Promise(async (resolve) => {
try {
let url = "https://coolbuy.com/api/v1.4/member/checkin/"
let res = await axios.post(url, {}, {
headers
})
if (res.data.checked_in_today) {
console.log("签到成功")
}
} catch (err) {
console.log(err.response.statusText);
}
resolve();
});
}
function lottery() {
return new Promise(async (resolve) => {
try {
let url = "https://coolbuy.com/api/v1.4/member-lottery/"
let data = {
"lottery_id": 3
}
// await axios.get(`https://coolbuy.com/api/v1.4/page/${id}`,{headers})
let res = await axios.post(url, data, {
headers
})
if (res.data.name) {
console.log("抽奖结果:" + res.data.name)
} else {
console.log(res.data)
}
} catch (err) {
console.log(err.response.statusText);
}
resolve();
});
}
function getinfo() {
return new Promise(async (resolve) => {
try {
let url = "https://coolbuy.com/api/v1.4/member/"
let res = await axios.get(url, {
headers
})
info = `${res.data.nickname} || 可用玩币:${res.data.available_point} || ${res.data.checked_in_today==1?"今日已签":"今日未签"} || 连签${res.data.continuous_check_in_days}天`
lotterycs = res.data.lottery_ticket_count
console.log(info)
result = "【玩物志好物商店】:" + info
} catch (err) {
console.log(err)
console.log(err.response.statusText);
result = "【玩物志好物商店】:" + err.response.statusText
}
resolve();
});
}
async function coolbuy() {
await getinfo()
ids = [1060, 1063, 1061, 1062, 1048, 1049, 1047, 1056, 1054, 1064]
for (id of ids) {
await interact(id)
}
await sign()
for (i = 0; i < lotterycs - 5; i++) {
await lottery()
}
await getinfo()
return result
}
module.exports = coolbuy
解析
这脚本是为玩物志好物商店网站设计的自动化任务脚本,主要用于处理用户的日常互动,如签到、阅读文章、抽奖和获取个人信息。它使用axios库来发送HTTP请求,并通过配置项管理请求头和身份验证数据。
1. interact(id)
目的:向指定的页面发送POST请求以模拟用户阅读行为,并尝试领取阅读奖励。
实现:
URL:
"https://coolbuy.com/api/v1.4/page/point/"
— 用于发送用户阅读页面的请求。数据处理:如果响应的状态是
"valid"
,则表示阅读奖励领取成功。
2. sign()
目的:执行用户的每日签到操作。
实现:
URL:
"https://coolbuy.com/api/v1.4/member/checkin/"
— 用于发送签到请求。数据处理:检查响应中的
checked_in_today
标志,确认是否签到成功。
3. lottery()
目的:执行抽奖操作,使用用户的抽奖机会尝试赢取奖品。
实现:
URL:
"https://coolbuy.com/api/v1.4/member-lottery/"
— 用于发送抽奖请求。数据处理:如果响应包含奖品名称,打印抽奖结果。
4. getinfo()
目的:获取用户的基本信息,如昵称、积分、签到状态和连续签到天数。
实现:
URL:
"https://coolbuy.com/api/v1.4/member/"
— 用于获取用户信息。数据处理:构建并打印用户信息摘要。
5. coolbuy()
功能:协调上述所有任务的执行流程。
流程:
首先调用
getinfo()
获取用户信息。遍历一系列页面ID,对每个ID调用
interact()
函数。调用
sign()
进行用户签到。根据用户的可用抽奖次数,调用
lottery()
进行抽奖。再次调用
getinfo()
更新并返回最新的用户信息。
配置和请求头
请求头根据用户的类型(如微信用户
wx
)有不同的配置,包括CSRF token、授权标识等。根据API的要求,不同的请求可能需要不同的请求头来确保成功调用。
错误处理
每个功能函数都使用try-catch结构来捕获和处理可能的异步错误,确保网络请求或数据处理的错误能够被妥善处理,并记录错误日志。
这个脚本通过自动化处理多种网络互动任务,提升了用户在玩物志好物商店网站上的互动效率和体验。通过模块化设计,确保了代码的清晰结构和易于维护性。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论