From 2fd767fb6fa15830cae06f3b5f0e3254d7bc4b67 Mon Sep 17 00:00:00 2001 From: Jing Ling Date: Tue, 28 Apr 2020 21:47:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8uvloop=E5=8A=A0=E9=80=9F?= =?UTF-8?q?=E5=AD=90=E5=9F=9F=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oneforall/common/request.py | 10 ++++++++++ oneforall/common/utils.py | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/oneforall/common/request.py b/oneforall/common/request.py index 33ed69a..f6f85da 100644 --- a/oneforall/common/request.py +++ b/oneforall/common/request.py @@ -227,6 +227,15 @@ async def bulk_request(data, port): return to_req_data + no_req_data +def set_loop_policy(): + try: + import uvloop + except ImportError: + pass + else: + asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) + + def run_request(domain, data, port): """ 调用子域请求入口函数 @@ -238,6 +247,7 @@ def run_request(domain, data, port): :rtype: list """ logger.log('INFOR', f'开始执行子域请求模块') + set_loop_policy() loop = asyncio.get_event_loop() asyncio.set_event_loop(loop) data = utils.set_id_none(data) diff --git a/oneforall/common/utils.py b/oneforall/common/utils.py index f9becbc..5c1cc73 100644 --- a/oneforall/common/utils.py +++ b/oneforall/common/utils.py @@ -519,6 +519,11 @@ def check_pre(): if version < '3.8': logger.log('FATAL', 'OneForAll在Windows系统运行时需要Python 3.8以上版本') exit(1) + if system in {"Linux", "Darwin"}: + try: + import uvloop + except ImportError: + logger.log('ALERT', f'请手动安装uvloop的Python库加速子域请求') def check_env():