gpt4 book ai didi

python - socket.gethostname() 返回错误的主机名

转载 作者:行者123 更新时间:2023-12-03 11:56:25 29 4
gpt4 key购买 nike

当我设置我的 Macbook Pro 时,我将主机名更改为我的名字 Tristan .我正在尝试使用套接字并调用:

socket.gethostbyname(socket.gethostname())

它没有给我错误 socket.gaierror: [Errno 8] nodename nor servname provided, or not known
我假设这是一个问题,因为我已经更改了名称。如果我输入:
socket.gethostname('Tristan.local')

它实际上打印出正确的 IP 地址。我 friend 的 Mac 没有更改主机名,它返回她所在网络的地址。如何将我的主机名更改回本地主机名或我需要做的任何事情以进行:
socket.gethostbyname(socket.gethostname())

又上类了?我当时以为我把它改成我的名字很有趣,但现在我很后悔。

最佳答案

gethostname一般只报告什么/etc/hostname或等效的,这可能只是一个虚构的名字。 gethostbyname尝试解析该名称,除非它也在类似 /etc/hosts 的名称中,某些系统设置为匹配,并且您配置的 DNS 服务器无法解析它,那么您会收到错误消息。

因此,您可以尝试在 /etc/hosts 中修复名称如果它首先以旧名称存在,或者您可以忽略它并按原样使用您的主机名。

请记住,除非您的公共(public)和私有(private) IP 匹配,否则 DNS 结果无论如何都是无用的。你可能想要的是打一个像 Ipify 这样的服务。确定您的实际外部 IP 是什么。

关于python - socket.gethostname() 返回错误的主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50653103/

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