Nawaz Nawaz - 1 month ago 7
Python Question

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.justdial.com",
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?

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.

What happens when you pass in a timeout value?

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