Search code examples
pythongetpython-requests

Why doesn't requests.get() return? What is the default timeout that requests.get() uses?


In my script, requests.get never returns:

import requests

print ("requesting..")

# This call never returns!
r = requests.get(
    "http://www.some-site.example",
    proxies = {'http': '222.255.169.74:8080'},
)

print(r.ok)

What could be the possible reason(s)? Any remedy? What is the default timeout that get uses?


Solution

  • What is the default timeout that get uses?

    The default timeout is None, which means it'll wait (hang) until the connection is closed.

    Just specify a timeout value, like this:

    r = requests.get(
        'http://www.example.com',
        proxies={'http': '222.255.169.74:8080'},
        timeout=5
    )