本帖最后由 kittylang 于 2024-7-23 10:38 编辑
夸克不能用好几天了,一直没人发我就补一个。
省流:不能使用 Cookie,需要手机抓包
WPS 版本 之前发过这个 https://www.52pojie.cn/thread-1907002-1-1.html,新版本需要重新抓包配置(以前A列配置cookie就行,现在ABC三列都需要配置),不再使用 Cookie,重新下载代码。详见:https://as.js.cool/reference/quark/
Nodejs 版本(青龙面板、云函数、本地直接运行):详见 https://as.js.cool/reference/quark/
Python 版本(青龙面板) 由 https://www.52pojie.cn/thread-1916339-1-1.html 改:
登陆信息按照 kps&sign&vode 的方式拼接,例如
[Asm] 纯文本查看 复制代码 def main():
# 定义多个 账号,每个 账号 带有名称作为键
账号列表 = {
"账号1": "khdaashdjak&xxxxxxx&1232131",
"账号2": "mmmmmmm&asdhgdakdbaj&1239138"
# 继续添加更多 账号
}
下面是完整代码
[Python] 纯文本查看 复制代码 import time
import requests
import json
import notify
def get_query(url):
u = url.split("&")
return f"__t={int(time.time() * 1000)}&sign_cyclic=true&fr=android&kps={u[0]}&sign={u[1]}&vcode={u[2]}&pr=ucpro&uc_param_str="
def check_request_response(response):
"""检查请求是否成功,并返回响应数据或打印错误信息"""
if not response.ok:
print(f"请求失败,状态码: {response.status_code}")
return None
return response.json()
def quark_sign_in(url):
state_url = f"https://drive-m.quark.cn/1/clouddrive/capacity/growth/info?{get_query(url)}"
# 获取签到状态
state_response = requests.get(state_url)
response_data = check_request_response(state_response)
if not response_data:
return False
sign = response_data["data"]["cap_sign"]
if sign["sign_daily"]:
number = sign["sign_daily_reward"] / (1024 * 1024)
progress = round(sign["sign_progress"] / sign["sign_target"] * 100, 2)
message = f"今日已签到获取{number}MB,进度{progress}%"
print(message)
return message
# 执行签到
sign_url = f"https://drive-m.quark.cn/1/clouddrive/capacity/growth/sign?{get_query(url)}"
params = {"sign_cyclic": True}
headers = {'Content-Type': 'application/json'}
sign_response = requests.post(sign_url, headers=headers, json=params)
data_response = check_request_response(sign_response)
if not data_response:
return None
mb = data_response["data"]["sign_daily_reward"] / (1024 * 1024)
print(json.dumps(data_response))
return f"签到成功,获取到{mb}MB!"
def main():
# 定义多个 账号,每个 账号 带有名称作为键
账号列表 = {
"账号1": "",
"账号2": ""
# 继续添加更多 账号
}
# 定义用于存储签到结果的字典
sign_results = {}
# 循环遍历每个 url 并调用签到函数
for name, 账号 in 账号列表.items():
print(f"正在签到 {name} ...")
sign_message = quark_sign_in(账号)
if sign_message:
sign_results[name] = sign_message
else:
sign_results[name] = "签到失败"
notify.send("夸克盘签到异常", f"{name} 的签到失败!")
# 输出所有账户的签到结果
print("\n签到结果:")
for name, message in sign_results.items():
print(f"{name}: {message}")
# 汇总所有签到信息
summary_message = "\n".join(
[f"{name}: {message}" for name, message in sign_results.items()])
# 使用 notify.send 发送汇总信息通知
notify.send("夸克盘签到汇总", summary_message)
if __name__ == "__main__":
main()
|