修复端口重复问题

This commit is contained in:
shmilylty
2019-10-24 21:56:07 +08:00
parent d760e02289
commit 035963758d
+23 -14
View File
@@ -48,22 +48,31 @@ def gen_new_datas(datas, ports):
protocols = ['http://', 'https://'] protocols = ['http://', 'https://']
for data in datas: for data in datas:
valid = data.get('valid') valid = data.get('valid')
if valid == 0: # 子域有效性未知的才进行http请求探测 if valid is None: # 子域有效性未知的才进行http请求探测
continue subdomain = data.get('subdomain')
subdomain = data.get('subdomain') for port in ports:
for port in ports:
for protocol in protocols:
if port == 80: if port == 80:
url = f'http://{subdomain}:{port}' url = f'http://{subdomain}'
data['id'] = None
data['url'] = url
data['port'] = 80
new_datas.append(data)
data = dict(data) # 需要生成一个新的字典对象
elif port == 443: elif port == 443:
url = f'https://{subdomain}:{port}' url = f'https://{subdomain}'
data['id'] = None
data['url'] = url
data['port'] = 443
new_datas.append(data)
data = dict(data) # 需要生成一个新的字典对象
else: else:
url = f'{protocol}{subdomain}:{port}' for protocol in protocols:
data['id'] = None url = f'{protocol}{subdomain}:{port}'
data['url'] = url data['id'] = None
data['port'] = port data['url'] = url
new_datas.append(data) data['port'] = port
data = dict(data) # 需要生成一个新的字典对象 new_datas.append(data)
data = dict(data) # 需要生成一个新的字典对象
return new_datas return new_datas
@@ -171,8 +180,8 @@ async def bulk_get_request(datas, port):
header = None header = None
if config.fake_header: if config.fake_header:
header = utils.gen_fake_header() header = utils.gen_fake_header()
tasks = []
async with ClientSession(connector=conn, headers=header) as session: async with ClientSession(connector=conn, headers=header) as session:
tasks = []
for i, data in enumerate(new_datas): for i, data in enumerate(new_datas):
url = data.get('url') url = data.get('url')
task = asyncio.ensure_future(fetch(session, url)) task = asyncio.ensure_future(fetch(session, url))