python多线程实现目录扫描

基于python3

import requests
import threading
import time

def judge(url):                                 #进行判断该url状态码的函数
    response = requests.get(url)                #使用get请求
    time.sleep(1)
    result = response.status_code       
    if result == 200 or result == 403:          #将状态码为200和403的输出
        print(url + '    ' + str(response.status_code))

if __name__=='__main__':
    aim='http://127.0.0.1/VulDrill/'            #目标网站   
    multithread=[]
    dir=open(r'./dict.txt')                     #打开字典文件,字典放着当前目录下
    for i in dir:
        url=aim+i.strip()                       #拼接url,strip()去除结尾的\n
        one_thread = threading.Thread(target=judge, args=(url,))    #将该url作为一个线程加入多线程的列表
        multithread.append(one_thread)

    for i in multithread:                       #执行多线程
        i.start()
    for i in multithread:                       #为了防止子线程没结束主线程就先结束了
        i.join()

    dir.close()

 

你可能感兴趣的:(python学习)