解决 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
更多推荐
已为社区贡献1条内容
所有评论(0)