Python脚本创建了数千个端口,如何解决这个问题?

2024-04-19 03:04:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个生成线程的脚本,然后每个线程负责发送一个web请求并分析响应。如果发生错误,线程将等待几秒钟,然后再次尝试相同的请求。所有请求都指向同一个域。当我启动脚本并打开CurrPorts时,我看到我的端口总数一直在增加,一直增加到10000个,打开的端口越来越多,最后适配器挂起。但奇怪的是,这些线工作得很好;他们收集/分析数据并继续前进。然而,他们似乎在离开开放的港口什么的。有人知道发生了什么事吗

以下是显示所有打开端口的屏幕截图:

enter image description here

以下是我看到的两个被重复了数千次的主要条目:

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)

我想加上超时可以解决我的困境,但事实并非如此。任何启迪都是非常感激的。大家保重


Tags: 端口脚本webdatatimeas错误线程