Skip to content

Commit 368697a

Browse files
use multithread
1 parent dc1a150 commit 368697a

File tree

1 file changed

+29
-18
lines changed

1 file changed

+29
-18
lines changed

findsth.py

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import requests
44
import logging
55
import time
6+
from multiprocessing.dummy import Pool as ThreadPool
67

78
protocol='http'
89
topDomainName=['.com','.cn','.net','.de','.fi','.co.jp', '.ru','.me', '.edu', '.af', '.ag', '.ai', '.ar', '.au', '.bd', '.bh', '.bn', '.bo', '.br', '.bz', '.co', '.cu', '.cy', '.do', '.ec', '.eg', '.et', '.fj', '.gh', '.gi', '.gt', '.hk', '.jm', '.kh', '.kw', '.lb', '.ly', '.mm', '.mt', '.mx', '.my', '.na', '.nf', '.ng', '.ni', '.np', '.om', '.pa', '.pe', '.pg', '.ph', '.pk', '.pr', '.py', '.qa', '.sa', '.sb', '.sg', '.sl', '.sv', '.tj', '.tr', '.tw', '.ua', '.uy', '.vc', '.vn']
@@ -11,26 +12,36 @@
1112
start = time.time()
1213

1314
logging.basicConfig(level=logging.INFO)
15+
domains = []
1416
urls=[]
1517
for i in range(len(topDomainName)):
16-
aTop=topDomainName[i]
17-
for j in range(len(argv)):
18-
domainName=argv[j]
19-
url=protocol + '://' + 'www.' + domainName + aTop
20-
logging.info('url is: %s',url)
21-
try:
22-
res=requests.head(url, timeout=10)
23-
code=res.status_code
24-
except requests.exceptions.ReadTimeout:
25-
code=-1
26-
except requests.exceptions.ConnectionError:
27-
code=-1
28-
except requests.exceptions.TooManyRedirects:
29-
code=-1
30-
logging.info('code is: %d',code)
31-
if code == 200:
32-
urls.append(url)
33-
logging.info('Available url:%s',url)
18+
aTop=topDomainName[i]
19+
for j in range(len(argv)):
20+
domainName=argv[j]
21+
url=protocol + '://' + 'www.' + domainName + aTop
22+
logging.info('url is: %s',url)
23+
domains.append(url)
24+
25+
print(domains)
26+
27+
def con(url):
28+
try:
29+
res = requests.get(url, timeout=10)
30+
code = res.status_code
31+
except requests.exceptions.ReadTimeout:
32+
code = -1
33+
except requests.exceptions.ConnectionError:
34+
code = -1
35+
except requests.exceptions.TooManyRedirects:
36+
code = -1
37+
logging.info('url: %s, code: %d'%(url, code))
38+
if code == 200:
39+
urls.append(url)
40+
41+
pool = ThreadPool(9)
42+
pool.map(con, domains)
43+
pool.close()
44+
pool.join()
3445

3546
availableCount = len(urls)
3647
logging.info('availableCount: %d',availableCount)

0 commit comments

Comments
 (0)