Python getaddrinfo在哪里进行名称解析?
我有一个树莓皮Python getaddrinfo在哪里进行名称解析?,python,sockets,python-3.x,Python,Sockets,Python 3.x,我有一个树莓皮 ping abc.azurewebsites.net返回没有问题的IP地址 但是,socket.getaddrinfo('abc.azurewebsites.net',80) 给出: socket.gaierror:[Errno-5]没有与主机名关联的地址 为了确保错误是明确和隔离的,我在另一个网络中的另一个Pi上尝试了上述两个命令,其中一个运行良好 我如何解决这个问题?奇怪的问题,因为通常情况下,我想它会使用DNS…Python只是包装了这个问题。我相信,ping命令只使用了
ping abc.azurewebsites.net
返回没有问题的IP地址
但是,socket.getaddrinfo('abc.azurewebsites.net',80)
给出:
socket.gaierror:[Errno-5]没有与主机名关联的地址
为了确保错误是明确和隔离的,我在另一个网络中的另一个Pi上尝试了上述两个命令,其中一个运行良好
我如何解决这个问题?奇怪的问题,因为通常情况下,我想它会使用DNS…Python只是包装了这个问题。我相信,
ping
命令只使用了gethostbyname()
,请参阅在/etc/resolv.conf
上进行一次测试,以了解DNS名称解析在两个系统上是如何配置的-可能这就是两个系统在resolv.conf中都有网关(住宅路由器)IP地址的区别。问题仍然是为什么ping
和getaddrinfo
会有不同的结果。我在resolv.conf
中删除了一行重复的行,问题就消失了。奇怪的问题,因为通常它看起来是DNS,我想…Python只是包装了这个问题。我相信,ping
命令只使用了gethostbyname()
,请参阅在/etc/resolv.conf
上进行一次测试,以了解DNS名称解析在两个系统上是如何配置的-可能这就是两个系统在resolv.conf中都有网关(住宅路由器)IP地址的区别。问题仍然是为什么ping
和getaddrinfo
有不同的结果。我在resolv.conf
中删除了一条重复的行,问题就消失了。