本文主要是介绍解决 socket.gaierror: [Errno 11001] getaddrinfo failed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
因为在做一些网页数据集的处理,需要解析域名,整理Ip,故用到了,
Socket.getaddrinfo,
- 首先是从之前处理好的域名数据集中读取域名
- 其次循环挨个处理
- 做好异常处理
但是结果显然不尽如人意,但是当你手动将单个域名,放进去解析,是没有问题的。
然后我就蒙了,后来经过一圈的查阅资源,试了挺多的手段,后来看到这样的一段话
I think the problem is a newline at the end of server_name.
也就是说在我读取的每一行的域名后面是有一个换行符的。 - 接下来 就是去掉它 ‘\n’
like is
解释一下,这里去掉换行符的方式有两种:- 用.sprip(’\n’)
- [:-1] (因为换行符总是在最后一个字符)
希望可以帮到大家,顺利即时解决问题。
def get_dns():domains = DataDispose.get_domain_list()for domain in domains:try:myaddr = socket.getaddrinfo(domain[:-1], 'http')print(myaddr)except Exception as e:print(e)continue
这篇关于解决 socket.gaierror: [Errno 11001] getaddrinfo failed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!