gpt4 book ai didi

python - socket.getfqdn() 不返回域,但 socket.gethostname() 返回域吗?

转载 作者:太空狗 更新时间:2023-10-29 17:34:25 25 4
gpt4 key购买 nike

我不明白这个:

Python 2.7.3 (default, Apr 14 2012, 08:58:41) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> socket.getfqdn()
'SR-MW001'
>>> socket.gethostname()
'sr-mw001.foo-domain.de'

这里有什么问题吗?

根据 socket.getfqdn() 的文档应返回“完全合格的域名”。

更新

更多信息:

/etc/主机

sr-mw001:~ # grep -iP 'SR-MW001|localhost|foo-domain' /etc/hosts
127.0.0.1 localhost
::1 localhost ipv6-localhost ipv6-loopback
10.189.217.11 SR-MW001 foo-work

IP

sr-mw001:~ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:50:56:a8:6e:eb brd ff:ff:ff:ff:ff:ff
inet 10.189.217.11/24 brd 10.189.217.255 scope global eth0
valid_lft forever preferred_lft forever

套接字.gethostbyaddr()

>>> socket.gethostbyaddr('sr-mw001.stadtwerke-gt.de')
('SR-MW001', ['foo-work'], ['10.189.217.11'])

更多详情:

> uname -n
sr-mw001.foo-domain.de

> hostname
sr-mw001.foo-domain.de

> domainname
(none)

> nisdomainname
-bash: nisdomainname: command not found

> dnsdomainname
foo-domain.de

> ypdomainname
-bash: ypdomainname: command not found

相关问题:/etc/HOSTNAME on SuSE: short name or FQDN?

最佳答案

检查 socket.gethostbyaddr('sr-mw001.foo-domain.de') 在您的机器上返回的内容。

getfqdn() 的实现依赖于:
https://github.com/python/cpython/blob/2.7/Lib/socket.py#L128-L151

如果 gethostbyaddr() 返回一个没有域和别名的主机名,则该主机名由 getfqdn() 返回。


问题中的更新信息表明我的猜测很接近。这是导致此行为的 /etc/hosts 中没有域的条目。下面的问答显示了一种修复它的方法,我相信: https://unix.stackexchange.com/a/77924


同时考虑升级您的 Python 安装。版本 2.7.3 来自 2012,2.7 的最新修复级别是 2.7.16。 getfqdn() 没有变化,但我没有检查 gethostbyaddr() 或可能调用的其他函数。

关于python - socket.getfqdn() 不返回域,但 socket.gethostname() 返回域吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56442873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com