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()

  

  不一定要写成一直重试,也可以设置重试的次数。

原文地址:https://www.cnblogs.com/lnlvinso/p/9813740.html