Я на новом компьютере и сталкиваюсь со странной проблемой:
Использование requests
без параметра timeout
просто зависает навсегда.
Использование параметра timeout
приводит к зависанию запроса до тех пор, пока не пройдет значение в timeout
;например, если timeout
установлено в 2, запрос зависает на две секунды;если timeout
установлено на 10;запрос зависает на 10 секунд.
Использование Firefox, Postman и т. д. не приводит к такому поведению.
Я на Python 3.6.5 с использованием запросов 2.19.1.
Код колбы:
import flask
app = flask.Flask(__name__)
@app.route('/')
def home():
return 'hello'
app.run(host='localhost', port=8080, debug=True)
Телефонный код:
import requests
# This is instant
requests.get('http://localhost:8080/', timeout=0.1)
# This hangs for 2 seconds
requests.get('http://localhost:8080/', timeout=2)
# This hangs for 10 seconds
requests.get('http://localhost:8080/', timeout=10)
# This hangs forever without a `timeout` param
requests.get('http://localhost:8080')
Использование Firefox или Postman приводит к мгновенному ответу, поэтому я полагаю, что это как-то связано с requests
.
На моем старом компьютере я не могу повторить это поведение с теми же версиями Python и запросами.
Кстати, когда я впервые загрузил этот новый компьютер около месяца назад, у меня не былопроблема.