asi568
发表于 3 天前
e4rljia 发表于 2025-1-11 22:30
自己拿gpt写一个呗。
写了好几个测试了下,都用不了。
Nigel
发表于 3 天前
人肉签到
e4rljia
发表于 3 天前
asi568 发表于 2025-1-13 08:00
写了好几个测试了下,都用不了。
import os# 用于获取环境变量
import sys# 用于异常处理和退出
import requests# 用于发送 HTTP 请求
import cloudscraper# 用于绕过 Cloudflare 验证
import json# 可选,用于手动解析 JSON 数据
import logging# 可选,用于记录日志
import time# 可选,用于实现重试逻辑
# 初始化日志配置
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# 获取环境变量
NS_RANDOM = os.environ.get("NS_RANDOM", "true")# 随机参数,默认值为 "true"
NS_COOKIE = os.environ.get("NS_COOKIE", "")# 从环境变量获取 NS_COOKIE
COOKIE = os.environ.get("COOKIE", "")# 从环境变量获取 COOKIE
COOKIE_ENV = NS_COOKIE or COOKIE# 优先使用 NS_COOKIE,如果没有再用 COOKIE
if COOKIE_ENV:
# 清理 Cookie 值,去除多余的换行和空格
COOKIE_ENV = COOKIE_ENV.strip().replace('\n', '').replace('\r', '')
logging.info(f"使用的 Cookie: {COOKIE_ENV}")# 打印调试信息
# API 请求 URL
url = f"https://www.nodeseek.com/api/attendance?random={NS_RANDOM}"
# 请求头信息
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0",
'origin': "https://www.nodeseek.com",
'referer': "https://www.nodeseek.com/board",
'accept-language': "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
'Cookie': COOKIE_ENV
}
try:
# 创建 CloudScraper 实例
scraper = cloudscraper.create_scraper(
browser={
'browser': 'chrome',# 模拟的浏览器类型
'platform': 'windows',# 模拟的操作系统
'mobile': False# 是否模拟移动设备
}
)
# 发送 POST 请求
logging.info(f"正在向 {url} 发送请求...")
response = scraper.post(url, headers=headers)
# 检查 HTTP 响应状态码
if response.status_code != 200:
logging.error(f"请求失败,HTTP 状态码: {response.status_code}")
if "Just a moment" in response.text or "cf-chl-bypass" in response.text:
logging.error("Cloudflare 验证失败,返回了验证页面。")
sys.exit(1)
# 打印实际响应内容
logging.info(f"实际响应内容: {response.text}")
# 解析 JSON 数据
try:
response_data = response.json()
logging.info(f"解析的 JSON 数据: {response_data}")# 打印返回的 JSON 数据
message = response_data.get('message', '无消息')# 如果没有 message,默认值为 "无消息"
success = response_data.get('success', False)# 如果没有 success,默认值为 False
if success:
logging.info(f"签到成功: {message}")
else:
logging.warning(f"签到失败: {message}")
except ValueError:
logging.error("响应内容不是有效的 JSON 数据,可能返回了 HTML 验证页面。")
logging.error(f"响应内容: {response.text}")
except Exception as e:
logging.error("发生异常:", exc_info=True)# 打印详细的异常信息
else:
logging.error("请先设置 Cookie")
e4rljia
发表于 3 天前
asi568 发表于 2025-1-13 08:00
写了好几个测试了下,都用不了。
青龙的,自己加一下环境变量
老帅比
发表于 3 天前
马上....不需要了
yansenyao
发表于 3 天前
马上就让你变成论坛神仙:@:@
juying5070
发表于 3 天前
搞到三千就不需要了吗
plyu007
发表于 3 天前
神仙,不需要了
jasper
发表于 3 天前
等级越高反而越危险https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif
williamc2
发表于 3 天前
已经....不需要了