Initial Qinglong script classification corpus
This commit is contained in:
389
脚本库/web版/账密/星星充电签到/2025-09-01_xxcd_40e3aef4.py
Normal file
389
脚本库/web版/账密/星星充电签到/2025-09-01_xxcd_40e3aef4.py
Normal file
@@ -0,0 +1,389 @@
|
||||
# Source: https://github.com/lksky8/sign-ql/blob/main/xxcd.py
|
||||
# Raw: https://raw.githubusercontent.com/lksky8/sign-ql/main/xxcd.py
|
||||
# Repo: lksky8/sign-ql
|
||||
# Path: xxcd.py
|
||||
# UploadedAt: 2025-09-01T15:45:21Z
|
||||
# SHA256: 40e3aef421127efd0fe80201c786cf341993dd4e8318fe4f8456a912aef026e0
|
||||
# Category: web版/账密
|
||||
# Evidence: web/H5关键词 + username/password/login
|
||||
|
||||
"""
|
||||
星星充电签到
|
||||
作者:https://github.com/lksky8/sign-ql
|
||||
日期:2025-09-01
|
||||
|
||||
使用方法:打开app随便抓一个包,把头部'Authorization'内容填入 export startoken=""
|
||||
另外可以再填入cityid(抓包获取), export starcityid=""可填可不填
|
||||
|
||||
支持多用户运行,多用户用&或者@隔开
|
||||
|
||||
export startoken="eyJ0eXAiOiJKV1QiLCJhbGciOiJIU1NiJ9..&eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1J9.."
|
||||
export starcityid=""
|
||||
|
||||
每天运行一次即可
|
||||
cron: 0 7 * * *
|
||||
const $ = new Env("星星充电签到");
|
||||
"""
|
||||
import requests
|
||||
import re
|
||||
import os
|
||||
import datetime
|
||||
import hashlib
|
||||
import time
|
||||
|
||||
|
||||
if 'startoken' in os.environ:
|
||||
startoken = re.split("@|&",os.environ.get("startoken"))
|
||||
print(f'查找到{len(startoken)}个账号\n')
|
||||
else:
|
||||
startoken =['']
|
||||
print('无startoken变量')
|
||||
|
||||
|
||||
|
||||
if 'starcityid' in os.environ:
|
||||
cityid = os.environ.get("starcityid")
|
||||
print(f'已填入cityid:{cityid}')
|
||||
else:
|
||||
cityid = '440000'
|
||||
print('没有填写cityid,系统默认使用440000')
|
||||
|
||||
|
||||
|
||||
def md5_encrypt(text):
|
||||
md5_hash = hashlib.md5()
|
||||
md5_hash.update(text.encode('utf-8'))
|
||||
md5_result = md5_hash.hexdigest()
|
||||
return md5_result
|
||||
|
||||
def time13():
|
||||
now = datetime.datetime.now()
|
||||
timestamp_ms = int(now.timestamp() * 1000) + (now.microsecond // 1000)
|
||||
return str(timestamp_ms)
|
||||
|
||||
|
||||
def find_task_ids(data):
|
||||
this_week_task_id = None
|
||||
this_month_task_id = None
|
||||
for model in data:
|
||||
for task in model['taskList']:
|
||||
if task['taskName'] == '本周充电任务':
|
||||
this_week_task_id = task['taskId']
|
||||
elif task['taskName'] == '本月充电任务':
|
||||
this_month_task_id = task['taskId']
|
||||
return this_week_task_id, this_month_task_id
|
||||
|
||||
|
||||
send_msg = ''
|
||||
one_msg = ''
|
||||
|
||||
|
||||
def Log(cont=''):
|
||||
global send_msg, one_msg
|
||||
if cont:
|
||||
one_msg += f'{cont}\n'
|
||||
send_msg += f'{cont}\n'
|
||||
|
||||
|
||||
# 发送通知消息
|
||||
def send_notification_message(title):
|
||||
try:
|
||||
from notify import send
|
||||
print("加载通知服务成功!")
|
||||
send(title, send_msg)
|
||||
except Exception as e:
|
||||
if e:
|
||||
print('发送通知消息失败!')
|
||||
|
||||
|
||||
def sign(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'nonce=2b4aa7d9-4137-4e51-94e3-7b7355bf202a×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': cityid,
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
}
|
||||
data = {
|
||||
'nonce': '2b4aa7d9-4137-4e51-94e3-7b7355bf202a',
|
||||
'timestamp': timestamp,
|
||||
'userId': '',
|
||||
}
|
||||
response = requests.post('https://gateway.starcharge.com/apph5/webApiV2/starPoint/sign',headers=headers, data=data)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == '200':
|
||||
print(f"签到成功:获得{response_json['data']['basePoint']}积分,已连续签到{response_json['data']['continuousDay']}天")
|
||||
Log(f"签到成功:获得{response_json['data']['basePoint']}积分,已连续签到{response_json['data']['continuousDay']}天")
|
||||
return True
|
||||
elif response_json['code'] == '402':
|
||||
print('用户数据获取失败,重新尝试获取数据')
|
||||
return False
|
||||
else:
|
||||
print("签到失败:", response.text)
|
||||
return False
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("Failed to send POST request. Status Code:", response.status_code)
|
||||
except Exception as e:
|
||||
print("签到出错了:", e)
|
||||
|
||||
|
||||
def Get_list(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'city={cityid}&nonce=1b93f289-32ee-4616-a860-5aef04c6c048×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'memberAdType': '0-0',
|
||||
'Authorization': token,
|
||||
'timestamp': timestamp,
|
||||
'appVersion': '7.40.0',
|
||||
'channel-id': '98',
|
||||
'referrer': 'web',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'signature': signature,
|
||||
'positCity': cityid,
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_8_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/userTask/model/list?city={cityid}&nonce=1b93f289-32ee-4616-a860-5aef04c6c048',headers=headers)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == '200':
|
||||
return response_json['data']
|
||||
else:
|
||||
print("获取任务列表失败:", response.text)
|
||||
return False
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("获取任务列表出错了:", e)
|
||||
|
||||
|
||||
def Do_task(task_id,token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'nonce=4f63ecd8-e342-4e33-94a4-81bdfd040235&taskId={task_id}&taskType=1×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'memberAdType': '0-0',
|
||||
'Authorization': token,
|
||||
'timestamp': timestamp,
|
||||
'appVersion': '7.40.0',
|
||||
'channel-id': '98',
|
||||
'referrer': 'web',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'signature': signature,
|
||||
'positCity': cityid,
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_8_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/userTask/get?taskId={task_id}&taskType=1&nonce=4f63ecd8-e342-4e33-94a4-81bdfd040235', headers=headers)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == None:
|
||||
return response_json['text']
|
||||
elif response_json['code'] == '200' and response_json['text'] == None :
|
||||
return '任务已领取'
|
||||
else:
|
||||
print("做任务:", response.text)
|
||||
return False
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
|
||||
|
||||
def Get_info(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'city={cityid}&nonce=b7e92ec1-813f-4ec2-ab8a-e91289604733×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': cityid,
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/v2/webApiV2/star/point/user?city={cityid}&nonce=b7e92ec1-813f-4ec2-ab8a-e91289604733', headers=headers)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == '200':
|
||||
print(f'用户({response_json["data"]["nickName"]})目前金币:{response_json["data"]["points"]}')
|
||||
Log(f'用户({response_json["data"]["nickName"]})目前金币:{response_json["data"]["points"]}\n')
|
||||
else:
|
||||
print('用户数据查询失败:' + response.text)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("查询用户数据出错了:", e)
|
||||
|
||||
def Get_user_info(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'cityCode={cityid}&nonce=b6efee74-2ad5-43b3-bf3f-2435613c7c9d×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'Authorization': token,
|
||||
'timestamp': timestamp,
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'appVersion': '7.40.0',
|
||||
'channel-id': '98',
|
||||
'referrer': 'web',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'positCity': cityid,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/user/getUserBaseInfo?cityCode={cityid}&nonce=b6efee74-2ad5-43b3-bf3f-2435613c7c9d', headers=headers)
|
||||
response_data = response.json()
|
||||
if response_data['code'] == '200':
|
||||
if response_data['data']['appVipType'] == 1:
|
||||
print(f'用户({response_data["data"]["nickName"]})已开通VIP,到期日:{response_data["data"]["appVipExpiration"]}')
|
||||
vip_sign(token)
|
||||
check_vip_sign(token)
|
||||
else:
|
||||
print(f'用户({response_data["data"]["nickName"]}) 未开通VIP')
|
||||
else:
|
||||
print('查询是否VIP失败:' + response.text)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("查询是否VIP出错了:", e)
|
||||
|
||||
|
||||
def vip_sign(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt('nonce=8f396424-3729-4f50-bf67-bfb8fe38b9c5×tamp='+timestamp+'&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': '440600',
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
}
|
||||
data = {
|
||||
'nonce': '8f396424-3729-4f50-bf67-bfb8fe38b9c5',
|
||||
'timestamp': timestamp,
|
||||
'userId': '',
|
||||
}
|
||||
response = requests.post('https://gateway.starcharge.com/apph5/webApiV2/member/v5/home/sign',headers=headers, data=data).json()
|
||||
if response['code'] == '200':
|
||||
print(f"VIP任务:签到成功")
|
||||
else:
|
||||
print("VIP任务:签到失败" + response['text'])
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("出错了:", e)
|
||||
|
||||
def check_vip_sign(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'cycleType=1&nonce=2d3d2147-dbce-42b4-8fa9-9268b4fa580f×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'memberAdType': '0-0',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://app-taro.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://app-taro.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': '440600',
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': '*/*',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/member/v5/home/sign/records?cycleType=1&nonce=2d3d2147-dbce-42b4-8fa9-9268b4fa580f×tamp={timestamp}&userId=',headers=headers).json()
|
||||
if response['code'] == '200':
|
||||
print(f"VIP任务:已连续签到{response['data']['continuousDays']}天")
|
||||
else:
|
||||
print("VIP任务查询失败" + response)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("出错了:", e)
|
||||
|
||||
def main():
|
||||
z = 1
|
||||
for ck in startoken:
|
||||
try:
|
||||
print(f'登录第{z}个账号')
|
||||
print('----------------------')
|
||||
print('\n开始签到操作>>>>>>>>>>\n')
|
||||
while True:
|
||||
if sign(ck):
|
||||
break
|
||||
time.sleep(3)
|
||||
print('\n完成日常任务>>>>>>>>>>\n')
|
||||
this_week_id, this_month_id = find_task_ids(Get_list(ck))
|
||||
print("本周充电任务:", Do_task(this_week_id,ck))
|
||||
print("本月充电任务:", Do_task(this_month_id,ck))
|
||||
print('\n获取用户信息>>>>>>>>>>\n')
|
||||
Get_info(ck)
|
||||
Get_user_info(ck)
|
||||
print('\n----------------------')
|
||||
z = z + 1
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
try:
|
||||
send_notification_message(title='星星充电') # 发送通知
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
389
脚本库/web版/账密/星星充电签到/2026-05-23_xxcd_40e3aef4.py
Normal file
389
脚本库/web版/账密/星星充电签到/2026-05-23_xxcd_40e3aef4.py
Normal file
@@ -0,0 +1,389 @@
|
||||
# Source: https://github.com/lksky8/sign-ql/blob/main/xxcd.py
|
||||
# Raw: https://raw.githubusercontent.com/lksky8/sign-ql/main/xxcd.py
|
||||
# Repo: lksky8/sign-ql
|
||||
# Path: xxcd.py
|
||||
# UploadedAt: 2026-05-23T06:33:21Z
|
||||
# SHA256: 40e3aef421127efd0fe80201c786cf341993dd4e8318fe4f8456a912aef026e0
|
||||
# Category: web版/账密
|
||||
# Evidence: web/H5关键词 + username/password/login
|
||||
|
||||
"""
|
||||
星星充电签到
|
||||
作者:https://github.com/lksky8/sign-ql
|
||||
日期:2025-09-01
|
||||
|
||||
使用方法:打开app随便抓一个包,把头部'Authorization'内容填入 export startoken=""
|
||||
另外可以再填入cityid(抓包获取), export starcityid=""可填可不填
|
||||
|
||||
支持多用户运行,多用户用&或者@隔开
|
||||
|
||||
export startoken="eyJ0eXAiOiJKV1QiLCJhbGciOiJIU1NiJ9..&eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1J9.."
|
||||
export starcityid=""
|
||||
|
||||
每天运行一次即可
|
||||
cron: 0 7 * * *
|
||||
const $ = new Env("星星充电签到");
|
||||
"""
|
||||
import requests
|
||||
import re
|
||||
import os
|
||||
import datetime
|
||||
import hashlib
|
||||
import time
|
||||
|
||||
|
||||
if 'startoken' in os.environ:
|
||||
startoken = re.split("@|&",os.environ.get("startoken"))
|
||||
print(f'查找到{len(startoken)}个账号\n')
|
||||
else:
|
||||
startoken =['']
|
||||
print('无startoken变量')
|
||||
|
||||
|
||||
|
||||
if 'starcityid' in os.environ:
|
||||
cityid = os.environ.get("starcityid")
|
||||
print(f'已填入cityid:{cityid}')
|
||||
else:
|
||||
cityid = '440000'
|
||||
print('没有填写cityid,系统默认使用440000')
|
||||
|
||||
|
||||
|
||||
def md5_encrypt(text):
|
||||
md5_hash = hashlib.md5()
|
||||
md5_hash.update(text.encode('utf-8'))
|
||||
md5_result = md5_hash.hexdigest()
|
||||
return md5_result
|
||||
|
||||
def time13():
|
||||
now = datetime.datetime.now()
|
||||
timestamp_ms = int(now.timestamp() * 1000) + (now.microsecond // 1000)
|
||||
return str(timestamp_ms)
|
||||
|
||||
|
||||
def find_task_ids(data):
|
||||
this_week_task_id = None
|
||||
this_month_task_id = None
|
||||
for model in data:
|
||||
for task in model['taskList']:
|
||||
if task['taskName'] == '本周充电任务':
|
||||
this_week_task_id = task['taskId']
|
||||
elif task['taskName'] == '本月充电任务':
|
||||
this_month_task_id = task['taskId']
|
||||
return this_week_task_id, this_month_task_id
|
||||
|
||||
|
||||
send_msg = ''
|
||||
one_msg = ''
|
||||
|
||||
|
||||
def Log(cont=''):
|
||||
global send_msg, one_msg
|
||||
if cont:
|
||||
one_msg += f'{cont}\n'
|
||||
send_msg += f'{cont}\n'
|
||||
|
||||
|
||||
# 发送通知消息
|
||||
def send_notification_message(title):
|
||||
try:
|
||||
from notify import send
|
||||
print("加载通知服务成功!")
|
||||
send(title, send_msg)
|
||||
except Exception as e:
|
||||
if e:
|
||||
print('发送通知消息失败!')
|
||||
|
||||
|
||||
def sign(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'nonce=2b4aa7d9-4137-4e51-94e3-7b7355bf202a×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': cityid,
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
}
|
||||
data = {
|
||||
'nonce': '2b4aa7d9-4137-4e51-94e3-7b7355bf202a',
|
||||
'timestamp': timestamp,
|
||||
'userId': '',
|
||||
}
|
||||
response = requests.post('https://gateway.starcharge.com/apph5/webApiV2/starPoint/sign',headers=headers, data=data)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == '200':
|
||||
print(f"签到成功:获得{response_json['data']['basePoint']}积分,已连续签到{response_json['data']['continuousDay']}天")
|
||||
Log(f"签到成功:获得{response_json['data']['basePoint']}积分,已连续签到{response_json['data']['continuousDay']}天")
|
||||
return True
|
||||
elif response_json['code'] == '402':
|
||||
print('用户数据获取失败,重新尝试获取数据')
|
||||
return False
|
||||
else:
|
||||
print("签到失败:", response.text)
|
||||
return False
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("Failed to send POST request. Status Code:", response.status_code)
|
||||
except Exception as e:
|
||||
print("签到出错了:", e)
|
||||
|
||||
|
||||
def Get_list(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'city={cityid}&nonce=1b93f289-32ee-4616-a860-5aef04c6c048×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'memberAdType': '0-0',
|
||||
'Authorization': token,
|
||||
'timestamp': timestamp,
|
||||
'appVersion': '7.40.0',
|
||||
'channel-id': '98',
|
||||
'referrer': 'web',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'signature': signature,
|
||||
'positCity': cityid,
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_8_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/userTask/model/list?city={cityid}&nonce=1b93f289-32ee-4616-a860-5aef04c6c048',headers=headers)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == '200':
|
||||
return response_json['data']
|
||||
else:
|
||||
print("获取任务列表失败:", response.text)
|
||||
return False
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("获取任务列表出错了:", e)
|
||||
|
||||
|
||||
def Do_task(task_id,token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'nonce=4f63ecd8-e342-4e33-94a4-81bdfd040235&taskId={task_id}&taskType=1×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'memberAdType': '0-0',
|
||||
'Authorization': token,
|
||||
'timestamp': timestamp,
|
||||
'appVersion': '7.40.0',
|
||||
'channel-id': '98',
|
||||
'referrer': 'web',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'signature': signature,
|
||||
'positCity': cityid,
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_8_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/userTask/get?taskId={task_id}&taskType=1&nonce=4f63ecd8-e342-4e33-94a4-81bdfd040235', headers=headers)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == None:
|
||||
return response_json['text']
|
||||
elif response_json['code'] == '200' and response_json['text'] == None :
|
||||
return '任务已领取'
|
||||
else:
|
||||
print("做任务:", response.text)
|
||||
return False
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
|
||||
|
||||
def Get_info(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'city={cityid}&nonce=b7e92ec1-813f-4ec2-ab8a-e91289604733×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': cityid,
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/v2/webApiV2/star/point/user?city={cityid}&nonce=b7e92ec1-813f-4ec2-ab8a-e91289604733', headers=headers)
|
||||
response_json = response.json()
|
||||
if response_json['code'] == '200':
|
||||
print(f'用户({response_json["data"]["nickName"]})目前金币:{response_json["data"]["points"]}')
|
||||
Log(f'用户({response_json["data"]["nickName"]})目前金币:{response_json["data"]["points"]}\n')
|
||||
else:
|
||||
print('用户数据查询失败:' + response.text)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("查询用户数据出错了:", e)
|
||||
|
||||
def Get_user_info(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'cityCode={cityid}&nonce=b6efee74-2ad5-43b3-bf3f-2435613c7c9d×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'Authorization': token,
|
||||
'timestamp': timestamp,
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'appVersion': '7.40.0',
|
||||
'channel-id': '98',
|
||||
'referrer': 'web',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'positCity': cityid,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/user/getUserBaseInfo?cityCode={cityid}&nonce=b6efee74-2ad5-43b3-bf3f-2435613c7c9d', headers=headers)
|
||||
response_data = response.json()
|
||||
if response_data['code'] == '200':
|
||||
if response_data['data']['appVipType'] == 1:
|
||||
print(f'用户({response_data["data"]["nickName"]})已开通VIP,到期日:{response_data["data"]["appVipExpiration"]}')
|
||||
vip_sign(token)
|
||||
check_vip_sign(token)
|
||||
else:
|
||||
print(f'用户({response_data["data"]["nickName"]}) 未开通VIP')
|
||||
else:
|
||||
print('查询是否VIP失败:' + response.text)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("查询是否VIP出错了:", e)
|
||||
|
||||
|
||||
def vip_sign(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt('nonce=8f396424-3729-4f50-bf67-bfb8fe38b9c5×tamp='+timestamp+'&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://scm-app-h5.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://scm-app-h5.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': '440600',
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
}
|
||||
data = {
|
||||
'nonce': '8f396424-3729-4f50-bf67-bfb8fe38b9c5',
|
||||
'timestamp': timestamp,
|
||||
'userId': '',
|
||||
}
|
||||
response = requests.post('https://gateway.starcharge.com/apph5/webApiV2/member/v5/home/sign',headers=headers, data=data).json()
|
||||
if response['code'] == '200':
|
||||
print(f"VIP任务:签到成功")
|
||||
else:
|
||||
print("VIP任务:签到失败" + response['text'])
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("出错了:", e)
|
||||
|
||||
def check_vip_sign(token):
|
||||
try:
|
||||
timestamp = time13()
|
||||
signature = md5_encrypt(f'cycleType=1&nonce=2d3d2147-dbce-42b4-8fa9-9268b4fa580f×tamp={timestamp}&userId=')[0:18].upper()
|
||||
headers = {
|
||||
'Host': 'gateway.starcharge.com',
|
||||
'memberAdType': '0-0',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
|
||||
'Referer': 'https://app-taro.starcharge.com/',
|
||||
'appVersion': '7.40.0',
|
||||
'Origin': 'https://app-taro.starcharge.com',
|
||||
'signature': signature,
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'referrer': 'web',
|
||||
'timestamp': timestamp,
|
||||
'positCity': '440600',
|
||||
'Authorization': token,
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept': '*/*',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'channel-id': '98',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
}
|
||||
response = requests.get(f'https://gateway.starcharge.com/apph5/webApiV2/member/v5/home/sign/records?cycleType=1&nonce=2d3d2147-dbce-42b4-8fa9-9268b4fa580f×tamp={timestamp}&userId=',headers=headers).json()
|
||||
if response['code'] == '200':
|
||||
print(f"VIP任务:已连续签到{response['data']['continuousDays']}天")
|
||||
else:
|
||||
print("VIP任务查询失败" + response)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print("An error occurred:", e)
|
||||
except Exception as e:
|
||||
print("出错了:", e)
|
||||
|
||||
def main():
|
||||
z = 1
|
||||
for ck in startoken:
|
||||
try:
|
||||
print(f'登录第{z}个账号')
|
||||
print('----------------------')
|
||||
print('\n开始签到操作>>>>>>>>>>\n')
|
||||
while True:
|
||||
if sign(ck):
|
||||
break
|
||||
time.sleep(3)
|
||||
print('\n完成日常任务>>>>>>>>>>\n')
|
||||
this_week_id, this_month_id = find_task_ids(Get_list(ck))
|
||||
print("本周充电任务:", Do_task(this_week_id,ck))
|
||||
print("本月充电任务:", Do_task(this_month_id,ck))
|
||||
print('\n获取用户信息>>>>>>>>>>\n')
|
||||
Get_info(ck)
|
||||
Get_user_info(ck)
|
||||
print('\n----------------------')
|
||||
z = z + 1
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
try:
|
||||
send_notification_message(title='星星充电') # 发送通知
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
Reference in New Issue
Block a user