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=2019052.部署教程
3.代码如下
let type = config.coolbuy.typelet xcsrftoken = config.coolbuy.xcsrftokenlet authorization = config.coolbuy.authorizationlet cookie = config.coolbuy.cookielet result = ""let lotterycs = 0const 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"] = nullheaders["x-pepe-merchant-id"] = 1headers["x-requested-with"] = "com.tencent.mm"headers["authorization"] = authorization} else {headers["x-csrftoken"] = xcsrftokenheaders["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_countconsole.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结构来捕获和处理可能的异步错误,确保网络请求或数据处理的错误能够被妥善处理,并记录错误日志。
这个脚本通过自动化处理多种网络互动任务,提升了用户在玩物志好物商店网站上的互动效率和体验。通过模块化设计,确保了代码的清晰结构和易于维护性。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论