我有一个 Jython 应用程序,它获取客户端的 IP 地址,然后通过 gethostbyaddr() 运行它。有时它会返回三倍的 ip 地址,有时我们会得到一个域名 (xxxx.domain.com)。我们希望使用完整的计算机名称,因为 IP 地址是动态的。我们已经确定某些网络或工作站设置阻止了域名的返回。这是一个 Windows 网络(快速编辑:IP 地址在我们的网络内部,而不是外部)。
所以问题是:有没有更好的方法来获取完整的计算机名称,或者是否有人碰巧知道我们可以更改的设置?
代码片段:
print socket.gethostbyaddr('{ip}')
谢谢!
编辑:
print socket.getfqdn( socket.gethostbyaddr('{ip}')[0] )
有时返回 IP 地址,有时返回计算机名称。