|
import socket
hostname =socket.gethostname() #这句没问题能获得中文主机名
IP = socket.gethostbyname(hostname) #这条语句在英文主机名的时候没有问题
#中文主机名的情况下出错
#提示socket.gaierror: [Errno 11004] getaddrinfo failed
我的计算机
主机名:我的电脑4
IP地址:10.200.33.44
子网掩码:255.255.0.0
网关:10.200.33.1
D:\Python33>python
Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> hostname=socket.gethostname()
>>> socket.gethostbyname(hostname)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
socket.gaierror: [Errno 11004] getaddrinfo failed
>>>
可是奇怪的是下面代码没问题
>>> socket.gethostbyname('中文.cn')
'216.218.207.147'
>>> socket.gethostbyname('中文.net')
'66.240.234.230'
|
|