小编Aer*_*tyl的帖子

检查给定输入是否是有效的IP或主机名或无效的内容

我正在尝试创建一个程序来检查给定的输入是有效的主机名,有效的IP,还是两者都不是.该程序能够识别有效的主机名或IP.但是,如果我尝试放置一些随机的东西,比如"xyz",它就不会打印出我想要的错误信息.

import socket
if __name__ == '__main__':
    hostname = 'hyuiolpp'
    if socket.gethostbyname(hostname) == hostname:
        print('{} is a valid IP address'.format(hostname))
    elif socket.gethostbyname(hostname) != hostname:
        print('{} is a valid hostname'.format(hostname))
    else:
        print("Something is wrong")
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

Traceback (most recent call last):
  File ".....", line 5, in <module>
    if socket.gethostbyname(hostname) == hostname:
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
Run Code Online (Sandbox Code Playgroud)

python validation networking network-programming python-3.x

3
推荐指数
1
解决办法
939
查看次数