繁体   English   中英

我正在尝试使用 Python 读取域名的 IP 地址,但我遇到了奇怪的错误,我不太明白

[英]I'm trying to read the IP address for a domain name with Python and I'm getting strange errors I don't quite understand

当我运行这段代码时:

import socket

domainName = 'test.domain.io'

old_ip = socket.gethostbyname(domainName)

print(old_ip)

我在 PyCharm 中收到此错误:“文件“C:/Users/UserName/PycharmProjects/AddyGet/ThingstoTry.py”,第 5 行,在 old_ip = socket.gethostbyname(domainName) socket.gaierror: [Errno 11001] getaddrinfo failed”

当我将调试器指向第 5 行时,我看到以下错误:

"ret.metadata= {NameError}name 'ret' is not defined"
"route53= {NameError}name 'route53' is not defined"
"zone= {NameError}name 'zone' is not defined"
"zone= {NameError}name 'zone' is not defined"
"route53.connection= {NameError}name 'route53' is not defined"

该域托管在 route53 上,但我没有导入 route53,因为我认为我不需要只检索 IP 地址。 那么,我是否需要导入 route53 并使用 route53 方法才能获得这个 IP 地址? 任何见解将不胜感激。

另外值得一提的是,因为是“socket.gaierror”,我在这里尝试了解决方案: “getaddrinfo failed”,这是什么意思?

我不在防火墙后面(我禁用了 Window 的防火墙)。 默认情况下,我的系统上没有代理环境变量,将自己置于代理之后也无济于事。

在我的计算机上,运行代码示例,我得到 output 23.221.222.250

它可能不是 Python 问题,而是操作系统问题。 如果您打开 Windows cmd提示并键入会发生什么:

ping test.domain.io

这是我的 output(重复和统计数据已删除):

Pinging test.domain.io [23.221.222.250] with 32 bytes of data:
Reply from 23.221.222.250: bytes=32 time=69ms TTL=47
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM