mirror of
https://github.com/shmilylty/OneForAll.git
synced 2026-08-26 12:57:50 +08:00
不使用aiodns
This commit is contained in:
@@ -1,13 +1,10 @@
|
|||||||
# coding=utf-8
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import functools
|
import functools
|
||||||
|
|
||||||
import dns.resolver
|
|
||||||
import aiodns
|
|
||||||
import tqdm
|
import tqdm
|
||||||
|
import dns.resolver
|
||||||
|
|
||||||
import config
|
import config
|
||||||
from common import utils
|
|
||||||
from config import logger
|
from config import logger
|
||||||
|
|
||||||
|
|
||||||
@@ -38,41 +35,6 @@ async def dns_query_a(hostname):
|
|||||||
return answer
|
return answer
|
||||||
|
|
||||||
|
|
||||||
def aiodns_resolver():
|
|
||||||
"""
|
|
||||||
异步dns解析器
|
|
||||||
"""
|
|
||||||
return aiodns.DNSResolver(nameservers=config.resolver_nameservers,
|
|
||||||
timeout=config.resolver_timeout)
|
|
||||||
|
|
||||||
|
|
||||||
async def aiodns_query_a(hostname, semaphore=None):
|
|
||||||
"""
|
|
||||||
异步查询A记录
|
|
||||||
|
|
||||||
:param str hostname: 主机名
|
|
||||||
:param semaphore: 并发查询数量
|
|
||||||
:return: 主机名或查询结果或查询异常
|
|
||||||
"""
|
|
||||||
if semaphore is None:
|
|
||||||
resolver = aiodns_resolver()
|
|
||||||
try:
|
|
||||||
answers = await resolver.query(hostname, 'A')
|
|
||||||
except BaseException as e:
|
|
||||||
logger.log('DEBUG', e.args)
|
|
||||||
answers = None
|
|
||||||
return hostname, answers
|
|
||||||
else:
|
|
||||||
async with semaphore:
|
|
||||||
resolver = aiodns_resolver()
|
|
||||||
try:
|
|
||||||
answers = await resolver.query(hostname, 'A')
|
|
||||||
except BaseException as e:
|
|
||||||
logger.log('DEBUG', e.args)
|
|
||||||
answers = None
|
|
||||||
return hostname, answers
|
|
||||||
|
|
||||||
|
|
||||||
def resolve_callback(future, index, datas):
|
def resolve_callback(future, index, datas):
|
||||||
"""
|
"""
|
||||||
解析结果回调处理
|
解析结果回调处理
|
||||||
|
|||||||
Reference in New Issue
Block a user