在urllib2.request()调用上设置超时

时间:2013-05-20 09:22:07

标签: python urllib2

我需要在urllib2.request()上设置超时。

我不使用urllib2.urlopen(),因为我使用data的{​​{1}}参数。我该如何设置?

3 个答案:

答案 0 :(得分:42)

虽然urlopen确实接受了data的{​​{1}}参数,但您可以在POST这样的对象上调用urlopen

Request

答案 1 :(得分:3)

仍然,你可以避免使用urlopen并继续这样:

request = urllib2.Request('http://example.com')
response = opener.open(request,timeout=4)
response_result = response.read()

这也有效:)

答案 2 :(得分:2)

为什么不使用真棒requests?你会节省很多时间。

如果您担心部署,只需将其复制到项目中即可。

EG。请求:

>>> requests.post('http://github.com', data={your data here}, timeout=10)