2

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

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

谢谢。

4

2 回答 2

4

这个问题有一些可能会有所帮助的答案:有没有一种pythonic方法可以尝试最多次数?

于 2010-08-18T20:01:37.113 回答
0

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

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

例如,您可以在自己的名为 myurllib2 的模块中定义与 urllib2 中名称相同的方法。然后只需在使用 urllib2 的任何地方更改导入

于 2010-06-28T08:41:36.447 回答