- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在运行一个虚拟机,它提供以下值以及运行代码的时间(通过在网站上执行一些操作)
socket.getfqdn()
x-vps-01.abc.it
socket.gethostname()
x-vps-01
socket.gethostbyname(socket.getfqdn())
216.185.103.35
socket.gethostbyname(socket.gethostname())
78.47.171.19
请注意,当我登录到终端并运行上面的命令时,我总是得到78.47.171.19
最佳答案
我试过你在 Linux 机器上做的事情。也许您应该说明您正在运行的操作系统和网络情况。
使用 strace
我发现 socket.getfqdn()
使用文件 /etc/hosts
中提供的信息,而 socket .gethostname()
只打印系统调用 uname()
的结果数据;基本上你可以说一个询问网络模块而另一个询问内核。两者都对您的问题有答案,但不一定匹配,因为他们对此事的看法不同。
调用 socket.gethostbyname()
还会查询网络模块(在我的例子中搜索文件 /etc/hosts
的内容以进行匹配)。将内核的答案提供给网络功能并不是您真正应该做的。在大多数情况下,这仍然有效。您发现了一个产生奇怪结果的地方。
关于python - socket.getfqdn() 和 socket.gethostname() 在使用 socket.gethostname 时给出不同的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13309560/
我正在运行一个虚拟机,它提供以下值以及运行代码的时间(通过在网站上执行一些操作) socket.getfqdn() x-vps-01.abc.it socket.gethostname() x-vps
我在使用时遇到问题Java 中的 InetAdress.getHostName() 类。在某些情况下,java 类没有得到正确的结果。在这种情况下,我只收到 IP 地址(如预期的错误)。 这很可能是我
我需要获取我正在使用的系统主机名 gethostname功能 但是它失败了,错误代码是 10093 WSANOTINITIALISED 10093 Successful WSAStartup not
当我设置我的 Macbook Pro 时,我将主机名更改为我的名字 Tristan .我正在尝试使用套接字并调用: socket.gethostbyname(socket.gethostname())
我正在尝试使用此方法获取主机名/计算机名。不幸的是,我只能获得 localhost 而不是其他计算机。 private String getHostName(String _strIP) {
我发现 gethostname() 函数返回本地计算机的标准主机名,但我对术语“主机名”有点困惑,它是函数所在计算机的名称吗?被调用或计算机在网络中连接的服务器的名称... cha
我尝试使用 gethostname() 分配一个变量 (1)并使用 $_SERVER (2)我不断收到 ReferenceError: gethostname is not Defined。 我想要的
我有以下小代码片段: InetAddress address = InetAddress.getByName(host); if(address.isReachable
我遇到了更改主机名后我的应用程序失败的问题。在调查中,我发现 Dns.GetHostName() 仍在返回旧主机名。 我正在尝试获取有关函数 Dns.GetHostName() 的主机名来源的信息。
我有一个从设备接收数据的线程。当到达 myDatagramPacket.getAddress().getHostName() 行时,它会停止 5-6 秒,然后继续。 当我尝试像“192.168.1.1
正在做一个python套接字教程,整个代码库如下 import socket as so s = so.socket() host = so.gethostname() port = 12345 s.
我正在修复对 gethostname() 的调用,其中旧代码将 hostName 数组声明为 10 个字符,导致边界错误,因为主机名大于该值。我的修复方法是使用 MAXHOSTNAMELEN 声明 h
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
只是标题,它们之间有什么区别?在 python 中,socket.gethostbyname(socket.gethostname()) 和 socket.gethostbyname(socket.g
我需要帮助将主机名转换为 ip 并插入到 sockaddr_in->sin_addr 以便能够分配给 char。例如我输入:localhost,它给了我 127.0.0.1 我找到了代码,但我不知道为
为什么有时,Java inetAddress.getHostName(); 给出完全限定的域名,有时只给出没有域的主机名?是否可以在系统级别进行调整,以便仅通过调用该方法来获取 FQDN 或主机名。我
我正在使用一个使用开源 java 库 (Calimero) 的 Android 应用程序。我的代码尝试使用以下代码获取主机名和端口: private static KNXNetworkLinkIP c
在我的 docker 容器(Java 应用程序)中,调用 InetAddress.getLocalHost().getHostName()返回我们在 docker run --name 'myserv
我正在使用 ITK(通过 itk 的 .lib)制作一个 C++ 项目。在 qmake 上,我像这样与 ITK 库建立链接:在 .pri 中: MyITK { CONFIG_FOUND += MyIT
我正在开发一个 After Effects 插件,我正在尝试集成 raknet,这是一个 C++ 网络库。当 raknet 库试图通过调用获取 ipv4 地址时 gethostbyname 然后它抛出
我是一名优秀的程序员,十分优秀!