mirror of
https://github.com/TDSCDMAA/AutoMihoyoBBS.git
synced 2026-06-02 18:43:42 +08:00
同时使用httpx和requests,防止openssl版本太低无法使用httpx导致崩溃
This commit is contained in:
parent
a73403704c
commit
583257c784
10
genshin.py
10
genshin.py
@ -1,9 +1,9 @@
|
||||
import time
|
||||
import httpx
|
||||
import tools
|
||||
import config
|
||||
import random
|
||||
import setting
|
||||
from request import http
|
||||
|
||||
class genshin:
|
||||
def __init__(self) -> None:
|
||||
@ -29,7 +29,7 @@ class genshin:
|
||||
def Getacc_list(self) -> list:
|
||||
tools.log.info("正在获取米哈游账号绑定原神账号列表...")
|
||||
temp_List = []
|
||||
req = httpx.get(setting.genshin_Account_info_url, headers=self.headers)
|
||||
req = http.get(setting.genshin_Account_info_url, headers=self.headers)
|
||||
data = req.json()
|
||||
if data["retcode"] != 0:
|
||||
tools.log.warn("获取账号列表失败!")
|
||||
@ -42,7 +42,7 @@ class genshin:
|
||||
#获取已经签到奖励列表
|
||||
def Get_singgive(self) -> list:
|
||||
tools.log.info("正在获取签到奖励列表...")
|
||||
req = httpx.get(setting.genshin_Singlisturl.format(setting.genshin_Act_id),headers=self.headers)
|
||||
req = http.get(setting.genshin_Singlisturl.format(setting.genshin_Act_id),headers=self.headers)
|
||||
data = req.json()
|
||||
if data["retcode"] != 0:
|
||||
tools.log.warn("获取签到奖励列表失败")
|
||||
@ -52,7 +52,7 @@ class genshin:
|
||||
|
||||
#判断签到
|
||||
def Is_sing(self, region:str, uid:str):
|
||||
req = httpx.get(setting.genshin_Is_singurl.format(setting.genshin_Act_id, region, uid), headers=self.headers)
|
||||
req = http.get(setting.genshin_Is_singurl.format(setting.genshin_Act_id, region, uid), headers=self.headers)
|
||||
data = req.json()
|
||||
if data["retcode"] != 0:
|
||||
tools.log.warn("获取账号签到信息失败!")
|
||||
@ -75,7 +75,7 @@ class genshin:
|
||||
tools.log.info(f"旅行者{i[0]}今天已经签到过了~\r\n今天获得的奖励是{tools.Get_item(self.sing_Give[sing_Days])}")
|
||||
else:
|
||||
time.sleep(random.randint(2, 6))
|
||||
req = httpx.post(url=setting.genshin_Singurl, headers=self.headers,
|
||||
req = http.post(url=setting.genshin_Singurl, headers=self.headers,
|
||||
json={'act_id': setting.genshin_Act_id, 'region': i[2], 'uid': i[1]})
|
||||
data = req.json()
|
||||
if data["retcode"] == 0:
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import time
|
||||
import httpx
|
||||
import tools
|
||||
import config
|
||||
import random
|
||||
import setting
|
||||
from request import http
|
||||
|
||||
class honkai3rd:
|
||||
def __init__(self) -> None:
|
||||
@ -27,7 +27,7 @@ class honkai3rd:
|
||||
def Getacc_list(self) -> list:
|
||||
tools.log.info("正在获取米哈游账号绑定的崩坏3账号列表...")
|
||||
temp_List = []
|
||||
req = httpx.get(setting.honkai3rd_Account_info_url, headers=self.headers)
|
||||
req = http.get(setting.honkai3rd_Account_info_url, headers=self.headers)
|
||||
data = req.json()
|
||||
if data["retcode"] != 0:
|
||||
tools.log.warn("获取账号列表失败!")
|
||||
@ -50,7 +50,7 @@ class honkai3rd:
|
||||
|
||||
#判断签到
|
||||
def Is_sing(self, region:str, uid:str, nickname:str):
|
||||
req = httpx.get(setting.honkai3rd_Is_singurl.format(setting.honkai3rd_Act_id, region, uid), headers=self.headers)
|
||||
req = http.get(setting.honkai3rd_Is_singurl.format(setting.honkai3rd_Act_id, region, uid), headers=self.headers)
|
||||
data = req.json()
|
||||
if data["retcode"] != 0:
|
||||
tools.log.warn("获取账号签到信息失败!")
|
||||
@ -72,7 +72,7 @@ class honkai3rd:
|
||||
is_data = self.Is_sing(region = i[2], uid = i[1], nickname = i[0])
|
||||
if is_data == True:
|
||||
time.sleep(random.randint(2, 6))
|
||||
req = httpx.post(url=setting.honkai3rd_SingUrl, headers=self.headers,
|
||||
req = http.post(url=setting.honkai3rd_SingUrl, headers=self.headers,
|
||||
json={'act_id': setting.honkai3rd_Act_id, 'region': i[2], 'uid': i[1]})
|
||||
data = req.json()
|
||||
if data["retcode"] == 0:
|
||||
|
||||
@ -15,14 +15,14 @@ def Fund_config() ->list:
|
||||
file_Name.append(files)
|
||||
return (file_Name)
|
||||
|
||||
def main_multi():
|
||||
def main_multi(autorun:bool):
|
||||
tools.log.info("AutoMihoyoBBS Multi User mode")
|
||||
tools.log.info("正在搜索配置文件!")
|
||||
config_List = Fund_config()
|
||||
if len(config_List) == 0:
|
||||
tools.log.warn("未检测到配置文件,请确认config文件夹存在.json后缀名的配置文件!")
|
||||
exit()
|
||||
if len(sys.argv) >= 2 and sys.argv[1] == "autorun":
|
||||
if autorun:
|
||||
tools.log.info(f"已搜索到{len(config_List)}个配置文件,正在开始执行!")
|
||||
else:
|
||||
tools.log.info(f"已搜索到{len(config_List)}个配置文件,请确认是否无多余文件!\r\n{config_List}")
|
||||
@ -40,6 +40,10 @@ def main_multi():
|
||||
time.sleep(random.randint(2, 6))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main_multi()
|
||||
if len(sys.argv) >= 2 and sys.argv[1] == "autorun":
|
||||
autorun = True
|
||||
else:
|
||||
autorun = False
|
||||
main_multi(autorun)
|
||||
sys.exit(0)
|
||||
pass
|
||||
16
mihoyobbs.py
16
mihoyobbs.py
@ -1,9 +1,9 @@
|
||||
import time
|
||||
import httpx
|
||||
import tools
|
||||
import config
|
||||
import random
|
||||
import setting
|
||||
from request import http
|
||||
|
||||
Today_getcoins = 0
|
||||
Today_have_getcoins = 0 #这个变量以后可能会用上,先留着了
|
||||
@ -44,7 +44,7 @@ class mihoyobbs:
|
||||
global Today_have_getcoins
|
||||
global Have_coins
|
||||
tools.log.info("正在获取任务列表")
|
||||
req = httpx.get(url=setting.bbs_Taskslist, headers=self.headers)
|
||||
req = http.get(url=setting.bbs_Taskslist, headers=self.headers)
|
||||
data = req.json()
|
||||
if "err" in data["message"]:
|
||||
tools.log.info("获取任务列表失败,你的cookie可能已过期,请重新设置cookie。")
|
||||
@ -92,7 +92,7 @@ class mihoyobbs:
|
||||
temp_List = []
|
||||
tools.log.info("正在获取帖子列表......")
|
||||
for i in setting.mihoyobbs_List_Use:
|
||||
req = httpx.get(url=setting.bbs_Listurl.format(i["forumId"]), headers=self.headers)
|
||||
req = http.get(url=setting.bbs_Listurl.format(i["forumId"]), headers=self.headers)
|
||||
data = req.json()
|
||||
for n in range(6):
|
||||
temp_List.append([data["data"]["list"][n]["post"]["post_id"], data["data"]["list"][n]["post"]["subject"]])
|
||||
@ -106,7 +106,7 @@ class mihoyobbs:
|
||||
#if self.Task_do["bbs_Sign"] == False:
|
||||
tools.log.info("正在签到......")
|
||||
for i in setting.mihoyobbs_List_Use:
|
||||
req = httpx.post(url=setting.bbs_Signurl.format(i["id"]), data="" ,headers=self.headers)
|
||||
req = http.post(url=setting.bbs_Signurl.format(i["id"]), data="" ,headers=self.headers)
|
||||
data = req.json()
|
||||
if "err" not in data["message"]:
|
||||
tools.log.info(str(i["name"]+ data["message"]))
|
||||
@ -121,7 +121,7 @@ class mihoyobbs:
|
||||
if self.Task_do["bbs_Read_posts"] == False:
|
||||
tools.log.info("正在看帖......")
|
||||
for i in range(3):
|
||||
req = httpx.get(url=setting.bbs_Detailurl.format(self.postsList[i][0]), headers=self.headers)
|
||||
req = http.get(url=setting.bbs_Detailurl.format(self.postsList[i][0]), headers=self.headers)
|
||||
data = req.json()
|
||||
if data["message"] == "OK":
|
||||
tools.log.info("看帖:{} 成功".format(self.postsList[i][1]))
|
||||
@ -134,7 +134,7 @@ class mihoyobbs:
|
||||
if self.Task_do["bbs_Like_posts"] == False:
|
||||
tools.log.info("正在点赞......")
|
||||
for i in range(5):
|
||||
req = httpx.post(url=setting.bbs_Likeurl, headers=self.headers,
|
||||
req = http.post(url=setting.bbs_Likeurl, headers=self.headers,
|
||||
json={"post_id": self.postsList[i][0], "is_cancel": False})
|
||||
data = req.json()
|
||||
if data["message"] == "OK":
|
||||
@ -142,7 +142,7 @@ class mihoyobbs:
|
||||
#判断取消点赞是否打开
|
||||
if config.mihoyobbs["bbs_Unlike"] == True:
|
||||
time.sleep(random.randint(2, 6))
|
||||
req = httpx.post(url=setting.bbs_Likeurl, headers=self.headers,
|
||||
req = http.post(url=setting.bbs_Likeurl, headers=self.headers,
|
||||
json={"post_id": self.postsList[i][0], "is_cancel": True})
|
||||
data = req.json()
|
||||
if data["message"] == "OK":
|
||||
@ -155,7 +155,7 @@ class mihoyobbs:
|
||||
def Share(self):
|
||||
if self.Task_do["bbs_Share"] == False:
|
||||
tools.log.info("正在分享......")
|
||||
req = httpx.get(url=setting.bbs_Shareurl.format(self.postsList[0][0]), headers=self.headers)
|
||||
req = http.get(url=setting.bbs_Shareurl.format(self.postsList[0][0]), headers=self.headers)
|
||||
data = req.json()
|
||||
if data["message"] == "OK":
|
||||
tools.log.info("分享:{} 成功".format(self.postsList[0][1]))
|
||||
|
||||
14
request.py
14
request.py
@ -1,9 +1,15 @@
|
||||
import httpx
|
||||
try:
|
||||
#优先使用httpx,在httpx无法使用的环境下使用requests
|
||||
import httpx
|
||||
http = httpx
|
||||
except ImportError:
|
||||
import requests
|
||||
http = requests
|
||||
|
||||
#这里实际上应该加个"-> dict"但是考虑到请求可能失败的关系,所以直接不声明返回变量
|
||||
def get(url:str, **headers:dict):
|
||||
try:
|
||||
req = httpx.get(url, headers=headers)
|
||||
req = http.get(url, headers=headers)
|
||||
return req.json()
|
||||
except:
|
||||
print("请求失败,网络错误!")
|
||||
@ -11,7 +17,7 @@ def get(url:str, **headers:dict):
|
||||
|
||||
def post(url:str, data:dict, **headers:dict):
|
||||
try:
|
||||
req = httpx.post(url, data=data, headers=headers)
|
||||
req = http.post(url, data=data, headers=headers)
|
||||
return req.json()
|
||||
except:
|
||||
print("请求失败,网络错误!")
|
||||
@ -19,7 +25,7 @@ def post(url:str, data:dict, **headers:dict):
|
||||
|
||||
def post_json(url:str, json, **headers:dict):
|
||||
try:
|
||||
req = httpx.post(url, json=json, headers=headers)
|
||||
req = http.post(url, json=json, headers=headers)
|
||||
return req.json()
|
||||
except:
|
||||
print("请求失败,网络错误!")
|
||||
|
||||
@ -1 +1,2 @@
|
||||
httpx==0.18.1
|
||||
httpx==0.18.1
|
||||
requests==2.25.1
|
||||
Loading…
Reference in New Issue
Block a user