У меня есть список ссылок на сайты и я хочу получить код HTTP ответа на каждую из них.
Я использую этот скрипт:
import requests,urllib,sys,threading,time
def main():
if len(sys.argv)<2:
print """Help:
Usage:DomainsChecker.py wordlist.txt"""
sys.exit(0)
wordlist=sys.argv[1]
a=open(wordlist,"r").readlines()
start_time = time.time()
for url in a:
if "http" not in url or "https" not in url:
url="http://"+str(url)
try:
response=urllib.urlopen(url).getcode()
if response in xrange(200,400) or response in xrange(100,101):
print "["+str(response)+"] "+str(url)
response=requests.get(url)
if response.history:
for res in response.history:
print "\tRedirected To : "+"[Response:"+str(res.status_code)+"] "+str(res.url)
print "\tFinal Redirection : "+"[Response:"+str(response.status_code)+"] "+str(response.url)
except IOError:
pass
print "\n[!]Finished In {} Second(s).".format(int(time.time() - start_time))
faster = threading.Thread(target=main)
faster.start()
faster.join()
Но он работает очень долго.
Есть какой-то способ ускорить процесс?