1. 程式人生 > >python urlib2報錯gaierror: [Errno 11004] getaddrinfo failed

python urlib2報錯gaierror: [Errno 11004] getaddrinfo failed

  gaierror : get address info error,獲取網路地址資訊錯誤。 url不正確,代理資訊配置不正確都會報這個錯誤。

 

       摘自https://blog.csdn.net/qq_19342635/article/details/79814456的部分內容:

  

  寫了一個非常簡單的傳送HTTP請求的類,有時候執行幾千次都不會報錯,有時候執行幾十次就會報開頭的那個【11004】錯誤。網上找了很多教程,比如在頭部加上斷開連線的標記,或者增大重試次數都不好使。

  所以,重新試一次就好了嘛,檢查到錯誤就睡兩秒重發。

class HTTPsClient(object):
    def __init__(self, url):
        self.url = url
        self.session = requests.session()
 
    def send(self, data=None, **kwargs):
        flag = False
        while not flag:
            try:
                response = self.session.request(method='POST', url=self.url, data=data,**kwargs)
            
except: print u'[%s] HTTP請求失敗!!!正在準備重發。。。' % get_time() time.sleep(2) continue flag = True self.session.close()

  

  不一定要寫成一直重試,也可以設定重試的次數。