我正在尝试逐行读取文件中的主机名,同时将每个dns名称解析为其IP地址。我正在使用这个非常简单的代码:
import socket
path = "C:\Domain\domains.txt"
f = open(path, 'r')
for line in f:
print socket.gethostbyname(line)
但是我收到了这个错误:
Traceback (most recent call last):
File "C:\resolve.py", line 8, in <module>
print socket.gethostbyname(line)
gaierror: [Errno 11004] getaddrinfo failed
我做了一些阅读,看起来失败的原因是\ n回车。 我尝试在几个方面剥离\ n但它没有用。你能帮忙吗?
谢谢。
答案 0 :(得分:0)
阅读gethostbyname
的{{3}}:
将主机名转换为IPv4地址格式。 IPv4地址以字符串形式返回,例如“100.50.200.5”。
错误11004的documentation说:
请求的名称有效且在数据库中找到,但没有正确解析相关数据。
答案 1 :(得分:-1)
您确定该行格式正确吗?
for line in f:
print repr(line)
print socket.gethostbyname(line)