socket.gethostbyname失败

时间:2011-11-09 03:18:38

标签: python

我正在尝试逐行读取文件中的主机名,同时将每个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但它没有用。你能帮忙吗?

谢谢。

2 个答案:

答案 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)