我有一个生成线程的脚本,然后每个线程负责发送一个web请求并分析响应。如果发生错误,线程将等待几秒钟,然后再次尝试相同的请求。所有请求都指向同一个域。当我启动脚本并打开CurrPorts时,我看到我的端口总数一直在增加,一直增加到10000个,打开的端口越来越多,最后适配器挂起。但奇怪的是,这些线工作得很好;他们收集/分析数据并继续前进。然而,他们似乎在离开开放的港口什么的。有人知道发生了什么事吗
以下是显示所有打开端口的屏幕截图:
以下是我看到的两个被重复了数千次的主要条目:
Unknown 0 TCP 57660 192.168.1.118 443 https 52.84.14.175 server-52-84-14-175.ord54.r.cloudfront.net Time Wait N/A 9 Nov. 2017 9:40:29 PM
Unknown 0 TCP 58506 127.0.0.1 8888 127.0.0.1 PC Time Wait N/A 9 Nov. 2017 9:40:29 PM
以下是我的代码的相关部分:
while(True):
try:
r = requests.post(url, headers=headers, data=data.encode('utf-8'), timeout=10)
### Do stuff. If request is valid, break. ###
except Exception as e:
with open(log_file,'a') as f:
f.write(str(e) + '\n')
time.sleep(15)
我想加上超时可以解决我的困境,但事实并非如此。任何启迪都是非常感激的。大家保重
这些连接没有打开,它们处于“Time Wait”状态。这意味着客户端已关闭它们,但仍需要等待最短的时间。你可以在这里阅读更多关于为什么会发生这种情况的信息:
相关问题 更多 >
编程相关推荐