我的Python應用程序使用urllib2
模塊發出大量HTTP請求。此應用程序可能用於非常不可靠的網絡,其中延遲可能很低,丟包和網絡超時可能非常普遍。是否可以覆蓋urllib2
模塊的一部分,以便在引發任何異常之前將每個請求重試X次?有沒有人看過類似的東西?使urllib多次重試
我可以做到這一點,而無需修改我的整個應用程序,只需創建一個包裝urllib2
模塊。因此任何使用這個模塊的代碼發出請求都會自動使用重試功能。
謝謝。
我的Python應用程序使用urllib2
模塊發出大量HTTP請求。此應用程序可能用於非常不可靠的網絡,其中延遲可能很低,丟包和網絡超時可能非常普遍。是否可以覆蓋urllib2
模塊的一部分,以便在引發任何異常之前將每個請求重試X次?有沒有人看過類似的東西?使urllib多次重試
我可以做到這一點,而無需修改我的整個應用程序,只需創建一個包裝urllib2
模塊。因此任何使用這個模塊的代碼發出請求都會自動使用重試功能。
謝謝。
修改庫的某些部分永遠不是一個好主意。
您可以圍繞您用於提取所需行爲的數據的方法編寫包裝。這將是微不足道的。
您可以在自己的模塊中定義名稱與urllib2中名稱相同的方法,名爲myurllib2。然後,只需改變進口無處不在,你使用的urllib2
的答案都不對解決掛下載的問題,雖然人們可以只給一個合理的超時的urlopen – lispmachine 2012-10-18 20:21:57