您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
发送 POST 请求至 https://api.app.workercn.cn/vote/voteClick
当前为
// ==UserScript== // @name Auto POST Request to Vote API // @namespace http://tampermonkey.net/ // @version 0.2 // @description 发送 POST 请求至 https://api.app.workercn.cn/vote/voteClick // @author You // @match https://web.app.workercn.cn/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 参数准备 const params = { voteID: 106, optionID: 5530, deviceID: "fbb8ca48-18fa-9e90-8b48-c1dd72f40859", deviceSign: "", userID: "", userIDSign: "", sign: "", token: "" }; // 排序参数 const sortedParams = Object.keys(params) .filter(key => params[key] !== undefined) // 过滤掉值为 undefined 或空值的参数 .sort() // 按参数名升序排序 .map(key => `${key}=${params[key]}`) // 拼接 key=value 的格式 .join("&"); // 使用 & 连接 // 计算 sign (使用 MD5 加密) params.sign = md5(sortedParams); // 需要先加载 MD5 加密库 // 构造 POST 请求体 const requestBody = JSON.stringify(params); // 请求头 const headers = { 'Accept': 'application/json, text/plain, */*', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'keep-alive', 'Content-Length': String(requestBody.length), 'Content-Type': 'application/json;charset=UTF-8', 'Host': 'api.app.workercn.cn', 'Origin': 'https://web.app.workercn.cn', 'Referer': 'https://web.app.workercn.cn/', 'Sec-CH-UA': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"', 'Sec-CH-UA-Mobile': '?0', 'Sec-CH-UA-Platform': '"Windows"', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'same-site', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', }; // 发送 POST 请求 fetch('https://api.app.workercn.cn/vote/voteClick', { method: 'POST', headers: headers, body: requestBody }) .then(response => response.json()) .then(data => { console.log('Response:', data); // 处理服务器响应 }) .catch(error => { console.error('Error:', error); // 错误处理 }); // 简单的 MD5 实现 function md5(str) { // 适用于基本 MD5 的计算 return str.split('').reduce(function(a, b) { return a + b.charCodeAt(0); }, 0).toString(16); // 这只是一个简单的字符串散列方法 } })();