python3 requests hangs when accessing port 25564 or higher

Viewed 7

I have a simple program which creates a simple web server at localhost with a random port between 10000 and 65535 (highest unsigned 16-bit integer). I have written a little helper program that should show every port that's being listened to. The helper:

import requests
for port in range(10000, 65535):
    try:
        print(port, requests.get("http://localhost:{}".format(port)))
    except Exception as e:
        print("{}: {}".format(type(e).__name__, port), end="\r")

I expect it to show ConnectionError: 10000 and counting up to 65535 and showing any found connections. But it hangs always on port 25564. And if I do a completely unrelated request to 'http://localhost:25564' or any higher port it hangs.
The script hangs on port 25565 when I start a server on 25564. Normally if a port has no server listening it will immediately refuse the connection and give a ConnectionError. Above port 25564 it doesn't but just waits until I stop it.

This behaviour seems completely random as port 25564 is unassigned according to speedguide.net.

I'm using python3 on Ubuntu 20.04 LTS.

0 Answers
Related