解析远程域名主机的IP地址

时间:2024-02-17 18:50:47

我们知道,计算机在访问远程主机的时候,本质上是通过IP地址来进行访问的,但我们实际在使用的时候,例如我们想访问百度的主页,我们是通过在浏览器的地址栏输入百度的域名来进行访问的,因此,计算机需要将百度的域名解析成IP地址来进行访问。那么,如果我们仅知道某一个远程主机的域名,而不知道其IP地址,Python如何解决此类问题呢?下面这个小程序,会给大家答案。

 

#导入Socket模块,否则gethostbyname无法使用

importsocket

 

#待解析的域名主机

host=\'www.baidu.com\'

port=80

 

#异常处理

try:

remote_ip=socket.gethostbyname(host)

exceptsocket.gaierror:

 

#若无法解析host的IP

print(\'hostnamecouldnotberesolved.\')

sys.exit()

print(\'IPaddressof"\'+host+\'"is\'+remote_ip)

 

#连接到远程主机

s=socket.socket()

s.connect((remote_ip,port))

print(\'SocketConnectedto\'+host+\'onip\'+remote_ip)