首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么socket.gethostbyname(socket.getfqdn())和socket.gethostbyname(socket.gethostname())返回不同?

为什么socket.gethostbyname(socket.getfqdn())和socket.gethostbyname(socket.gethostname())返回不同?
EN

Stack Overflow用户
提问于 2012-12-19 15:06:33
回答 1查看 1.3K关注 0票数 1

我知道什么是fqdn和hostname。但是我仍然不明白为什么这两个代码片段返回不同的结果。

socket.gethostbyname(socket.gethostname())返回的ip地址实际上是我在Windows上使用ipconfig命令看到的以太网适配器ip地址。但是socket.gethostbyname(socket.getfqdn())返回了一个我在ipconfig显示中看不到的ip地址,既不是以太网也不是ppp。那是什么?

gethostname的结果是相对于本地网络的ip地址和相对于整个网络的getfqdn吗?

如果我在远程网络中并且想要连接我的计算机,或者我与我的计算机在同一网络中,我应该使用这两种方法中的哪一种?

实际上,当我离线尝试这两个代码片段时,它们都返回127.0.0.1。

EN

回答 1

Stack Overflow用户

发布于 2013-07-13 05:34:31

当您脱机执行这些命令时,会得到127.0.0.1,因为在/etc/hosts中,缺省映射是: 127.0.0.1 localhost。因此,您的主机解析为localhost,而gethostbyname()为127.0.0.1。

我相信,gethostbyname()会分别为getfqdn()和gethostname()返回父域名的IP或完全限定域名的IP。它可能是不同的,也可能不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13947178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档