我的学校有一些港口。像这样的东西http://www.college.in:913我想要一个程序来找到活跃的。我的意思是,我希望这些端口号在该网站的工作。这里有一个代码。但这需要很多时间。
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError
for i in range(1,10000):
req = Request("http://college.edu.in:"+str(i))
try:
response = urlopen(req)
except URLError as e:
print("Error at port"+str(i) )
else:
print ('Website is working fine'+str(i))
1条答案
按热度按时间b4lqfgs41#
尝试打开到范围内每个端口的套接字连接,然后仅在套接字实际打开时尝试发出请求,这样可能会更快。但是迭代一堆端口通常很慢。如果每一个都需要0.5秒,而你要扫描10000个端口,那等待的时间就很长了。
从https://docs.python.org/3/howto/sockets.html
您还可以考虑分析代码并找出慢的部分在哪里。