import concurrent.futures
import requests
from fake_useragent import UserAgent
import time
url = '' # 目标URL
MAX_WORKERS = 100 # 最大线程数
File_name='' # 字典名称
# 记录开始时间
start_time = time.time()
# 读取字典,并进行多线程发包
def read_dir():
# 读取文件内容
with open(File_name, 'r', encoding='utf-8') as f:
lines = f.readlines()
# 创建线程池并并发处理每一行
with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
executor.map(send_request, lines)
def send_request(line):
global url
try:
full_url = url + line.strip()
ua = UserAgent()
print(ua.random, full_url)
headers = {'User-Agent': ua.random,
'X - Originating - IP': ' 127.0.0.1',
'X - Forwarded - For': ' 127.0.0.1',
'X - Forwarded': ' 127.0.0.1',
'Forwarded - For': ' 127.0.0.1',
'X - Remote - IP': ' 127.0.0.1',
'X - Remote - Addr': ' 127.0.0.1',
'X - ProxyUser - Ip': ' 127.0.0.1',
'X - Original - URL': ' 127.0.0.1',
'Client - IP': ' 127.0.0.1',
'True - Client - IP': ' 127.0.0.1',
'Cluster - Client - IP': ' 127.0.0.1',
'X - ProxyUser - Ip': ' 127.0.0.1',
}
proxies = {'http': 'http://127.0.0.1:1080', 'https': 'http://127.0.0.1:1080'}
response = requests.get(full_url, headers=headers,proxies=proxies)
if response.status_code == 200:
with open('1.txt','a',encoding='utf-8') as f:
f.writelines(full_url)
except Exception as e:
print(f"Error occurred while requesting {full_url}: {e}")
if __name__ == "__main__":
read_dir()
elapsed_time = time.time() - start_time
print(f"Total time taken: {elapsed_time:.2f} seconds")