Fix Python – Why doesn’t requests.get() return? What is the default timeout that requests.get() uses?

Question

Asked By – Nawaz

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?

Now we will see solution for issue: Why doesn’t requests.get() return? What is the default timeout that requests.get() uses?


Answer

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
)

This question is answered By – ron rothman

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0