Установка тайм-аута на вызов urllib2.request() Мне нужно установить таймаут на urllib2.request(). Я не использую urllib2.urlopen(), так как я использую параметр data request. Как я могу установить это? Ответ 1 Хотя urlopen принимает параметр data для POST, вы можете вызвать urlopen для объекта Request, подобного этому, import urllib2 request = urllib2.Request('http://www.example.com', data) response = urllib2.urlopen(request, timeout=4) content = response.read() Ответ 2 Почему бы не использовать awesome requests? Вы сэкономите много времени. Если вы беспокоитесь о развертывании, просто скопируйте его в свой проект. Eg. запросов: >>> requests.post('http://github.com', data={your data here}, timeout=10) Ответ 3 вы можете избежать использования urlopen и действовать следующим образом: request = urllib2.Request('http://example.com') response = opener.open(request,timeout=4) response_result = response.read() это тоже работает:)
Ответ 1 Хотя urlopen принимает параметр data для POST, вы можете вызвать urlopen для объекта Request, подобного этому, import urllib2 request = urllib2.Request('http://www.example.com', data) response = urllib2.urlopen(request, timeout=4) content = response.read()
Ответ 2 Почему бы не использовать awesome requests? Вы сэкономите много времени. Если вы беспокоитесь о развертывании, просто скопируйте его в свой проект. Eg. запросов: >>> requests.post('http://github.com', data={your data here}, timeout=10)
Ответ 3 вы можете избежать использования urlopen и действовать следующим образом: request = urllib2.Request('http://example.com') response = opener.open(request,timeout=4) response_result = response.read() это тоже работает:)