使urllib重试多次

时间:2010-06-28 08:17:41

标签: python urllib2 urllib

我的Python应用程序使用urllib2模块发出大量HTTP请求。此应用程序可能用于非常不可靠的网络,其中延迟可能很低,丢弃的数据包和网络超时可能非常常见。是否可以覆盖urllib2模块的一部分,以便在引发任何异常之前,每次重试X次?有没有人见过这样的东西?

我可以在不修改整个应用程序的情况下实现这一点,只需在urllib2模块上创建一个包装器即可。因此,使用此模块发出请求的任何代码都会自动使用重试功能。

感谢。

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

修改库的各个部分绝不是一个好主意。

您可以围绕用于获取可提供所需行为的数据的方法编写包装器。这将是微不足道的。

例如,您可以在自己的模块myurllib2中定义与urllib2中名称相同的方法。然后只需在您使用urllib2

的任何地方更改导入