Python多线程目录扫描器,,Python多线程目
Python多线程目录扫描器,,Python多线程目
Python多线程目录扫描器,代码很简单,不过也花了我很多时间。
遇到文件如下:
多线程执行问题队列执行问题编码问题目录问题自己逻辑问题报告长官,总结完毕,以下是成果,请长官查收:# coding:utf-8import requestsimport threadingimport Queueimport sysurl_list = Queue.Queue()mutex = threading.Lock()def path(url): with open("./path.txt") as Path: # ./path.txt 为字典地址,请使用相对目录 for i in Path: yield url + i.split("\n")[0]def Handle_open(url): for i in path(url): url_list.put(i)def is_200(url): Handle_open(url) try: while not url_list.empty(): mutex.acquire() try: r = requests.get(url_list.get(), allow_redirects=False, timeout=2, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/45.0.2454.101 Safari/537.36"}) if r.status_code == 200 or r.status_code == 302: print "\n[+] %s code: %s" % (url_list.get(), r.status_code) finally: mutex.release() except: passdef run_main(url, thread_int): for i in range(thread_int): i = threading.Thread(target=is_200, args=(url,)) i.start() i.join()if __name__ == ‘__main__‘: if len(sys.argv) < 2 or len(sys.argv) > 3: print u‘‘‘程序使用请转至博客:www.hack-sb.com‘‘‘ run_main(sys.argv[1], int(sys.argv[2]))
Python多线程目录扫描器
评论关闭