Python网络编程攻略1.3 获取远程设备的IP地址_Python网络编程攻略1.3 获取远程设备的IP地址试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > web > Python网络编程攻略 > 1.3 获取远程设备的IP地址

Python网络编程攻略——1.3 获取远程设备的IP地址

有时需要把设备的主机名转换成对应的IP地址,例如快速查询域名。本攻略介绍一个简单的函数来完成这一操作。 1.3.1 实战演练 如果想知道远程设备的IP地址,可以使用内置的库函数gethostbyname(),其参数是远程设备的主机名。 这里,我们要调用的是类函数gethostbyname()。让我们来看一下这个简短的代码片段。 代码清单1-2展示了如何获取远程设备的IP地址,如下所示: #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter – 1 # This program is optimized for Python 2.7. # It may run on any other version with/without modifications. import socket def get_remote_machine_info(): remote_host = 'www.python.org' try: print "IP address: %s" %socket.gethostbyname(remote_host) except socket.error, err_msg: print "%s: %s" %(remote_host, err_msg) if __name__ == '__main__': get_remote_machine_info() 运行上述代码会得到以下输出: $ python 1_2_remote_machine_info.py IP address of www.python.org: 82.94.164.162 1.3.2 原理分析 这个攻略把gethostbyname()方法包装在用户定义的get_remote_machine_info()函数中,还引入了异常处理的概念。如上述代码所示,我们把主要的函数调用放在try-except块中,这就意味着,如果执行函数gethostbyname()的过程中发生了错误,这个错误将由try-except块处理。 假如我们修改remote_host参数的值,把www.python.org改成一个不存在的域名,例如www.pytgo.org,然后执行下述命令: $ python 1_2_remote_machine_info.py www.pytgo.org: [Errno -5] No address associated with hostname try-except块捕获了错误,并向用户显示了一个错误消息,说明域名www.pytgo.org没有对应的IP地址。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Python网络编程攻略》其他试读目录

• 1.1 简介
• 1.2 打印设备名和IPv4地址
• 1.3 获取远程设备的IP地址 [当前]
• 1.4 将IPv4地址转换成不同的格式
• 1.5 通过指定的端口和协议找到服务名
• 1.6 主机字节序和网络字节序之间相互转换
• 1.7 设定并获取默认的套接字超时时间
• 1.8 优雅地处理套接字错误
• 1.9 修改套接字发送和接收的缓冲区大小
• 1.10 把套接字改成阻塞或非阻塞模式
• 1.11 重用套接字地址
• 1.12 从网络时间服务器获取并打印当前时间
• 1.13 编写一个SNTP客户端
• 1.14 编写一个简单的回显客户端/服务器应用
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •