使用Python的socket模块查找IP地址

3
当我运行以下命令以获取主机IP时:
socket.gethostbyname(socket.gethostname())

我在MAC终端上遇到了以下错误:
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

你有什么想法,问题可能出在哪里? socket.gethostname() 返回的主机名是正确的。

你尝试过传递 socket.gethostname().strip() 吗? - dave
是的,我尝试过那个,但没有帮助。 - KT100
如果您尝试从命令行“ping” socket.gethostname() 返回的主机,它会显示“未知主机”吗? - dave
没错,它确实显示未知主机!你有什么想法是什么原因引起的吗?谢谢! - KT100
1个回答

3
尝试以root用户身份打开/etc/hosts文件,并添加以下行:
# IP ADDR      HOSTNAME
192.168.1.1    your_desired_hostname

并且名称应该被解析。

显然,将 192.168.1.1 替换为您的 IP 地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接