同时使用httpx和requests,防止openssl版本太低无法使用httpx导致崩溃

This commit is contained in:
Womsxd 2021-06-13 10:33:38 +08:00
parent a73403704c
commit 583257c784
No known key found for this signature in database
GPG Key ID: 0FE76418EE689B68
6 changed files with 36 additions and 25 deletions

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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]))

View File

@ -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("请求失败,网络错误!")

View File

@ -1 +1,2 @@
httpx==0.18.1
httpx==0.18.1
requests==2.25.1