Socket模块解析主机名异常解决办法

之前写了篇关于socket.gaierror: [Errno -2] Name or service not known报错的解决方案链接如下:
https://blog.csdn.net/Kurakipeaf/article/details/138564020
但是今天发现还是会出现解析超时的情况

看来问题不是在变量名称

于是转变下思路,一次解析不成功多解析几次:

        domain_name = 'baidu.com'
        ip_address = None
        max_retries = 5
        retries = 0
        #解析主机IP,直到将解析成功
        while not ip_address and retries < max_retries:
            try:
                ip_address = socket.gethostbyname(domain_name)
                break
            except socket.gaierror as e:
                # 处理 socket.gaierror 异常,继续重试
                print("Socket Error:", str(e))
                retries += 1
                continue

这样代码运行到这一步,如果解析不成功ip_address变量没有赋值会重新解析,如果重新解析5次还是不成功会返回异常报错(应该不会有解析5次还超时的情况吧)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值