Python套接字gethostbyname()只返回一个IP地址

时间:2017-04-28 05:17:46

标签: python sockets

朋友们,我正在使用python套接字进行一些简单的实验,其中我有一个HOSTNAME,它解析了两个IP地址,但在我使用时,

socket.gethostbyname('demo.sample.com')

我只收到一个IP地址。为什么它会这样显示?有没有其他方法可以获得多个IP地址?请指导我。

提前致谢!

编辑 - 1

我找到了他们,而不是gethostbyname('demo.sample.com')我试过gethostbyname_ex('demo.sample.com')
它给出了我预期的结果。

感谢All

1 个答案:

答案 0 :(得分:3)

the documentation可以看出:

  • gethostbyname仅返回单个IPv4地址。并引用:
    请参阅gethostbyname_ex()以获得更完整的界面。
  • gethostbyname_ex将返回多个IPv4地址,但请查看用法。并引用:
    gethostbyname_ex()不支持IPv6名称解析,而应使用getaddrinfo()代替IPv4 / v6双栈支持。
  • getaddrinfo将返回所有IPv4和IPv6地址,但请查看用法。