J/Python gethostbyaddr()返回:ip还是域?

2024-03-28 09:36:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Jython应用程序,它获取客户机的IP地址,然后通过gethostbyaddr()运行它。有时它返回三倍的ip地址,有时我们得到一个域名(xxxx.domain.com网站). 我们想使用完整的计算机名,因为IP地址是动态的。我们已经确定有一些网络或工作站设置阻止了域名的返回。这是一个Windows网络(快速编辑:IP地址在我们的网络内部,而不是外部)。在

所以问题是:有没有更好的方法来获得完整的计算机名,或者有人碰巧知道一个我们可以更改的设置?在

代码剪贴:

print socket.gethostbyaddr('{ip}')

谢谢!在

编辑:

^{pr2}$

有时返回IP地址,有时返回计算机名。在


Tags: ip网络com应用程序编辑客户机网站domain
1条回答
网友
1楼 · 发布于 2024-03-28 09:36:20

如果不是这样工作的话,我会说是个bug:

stromberg@aw50 ~/src/stackoverflow/pyc-from-java $ /usr/local/jython-2.5.3b1/bin/jython  
Jython 2.5.3b1 (2.5:5fa0a5810b25, Feb 22 2012, 12:39:02)  
[Java HotSpot(TM) 64-Bit Server VM (Sun Microsystems Inc.)] on java1.6.0_31  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import socket  
>>> import platform  
>>> platform.node()  
'aw50'  
>>> socket.gethostbyname('aw50')  
'10.0.30.50'  
>>> socket.gethostbyaddr('10.0.30.50')  
('aw50.av1.ca.us.gaikai.int', ['aw50.av1.ca.us.gaikai.int'], ['10.0.30.50'])  
>>> socket.gethostbyaddr('10.0.30.50')[0]  
'aw50.av1.ca.us.gaikai.int'  
>>>  

你可以试试最新的2.5beta或2.7alpha。在

相关问题 更多 >