python的socket里 gethostbyname 与 gethostbyname_ex 的区别
2014-06-24 12:52
134 查看
python里有一个模块,叫socket,提供了BSD
socket 的通信接口,在看了这个模块之后,我发现了两个很相似的函数------gethostbyname 和gethostbyname_ex 。看起来很像吧,是不是让你想起了
win32 api 和 mfc 。
他们的区别是什么呢,看图:
gethostbyname 返回的是 主机名 的IPv4 的地址格式,如果传入的参数是IPv4 的地址格式,则返回值跟参数一样,这个函数不支持IPv6 的域名解析。
gethostbyname_ex 则是扩展后的接口,传入主机名,它能够返回 一个三元组 (原始主机名,域名列表,IP地址列表),这个函数同样不支持IPv6的域名解析。我们来看一下他们到底是怎么样使用的。
gethostbyname_ex 返回的信息 比 gethostbyname 多吧,gethostbyname 只能得到 IP 地址,而 gethostbyname_ex 能得到 百度原先的 域名,和 域名列表,以及地址列表,看到这两个IPv4 的地址没,他们是同一个网段的。我们来ping 一下百度,看一下结果正确不。
从图可以看出 ,“115.239.211.110 ” 就是 www.a.shifen.com
的IP地址,而“115.239.210.27” 就是 www.baidu.com 的IP 地址,他们都是百度的。看得出,gethostbyname_ex 比较强大,它可是gethostbyname的加强版。
socket 的通信接口,在看了这个模块之后,我发现了两个很相似的函数------gethostbyname 和gethostbyname_ex 。看起来很像吧,是不是让你想起了
win32 api 和 mfc 。
他们的区别是什么呢,看图:
gethostbyname 返回的是 主机名 的IPv4 的地址格式,如果传入的参数是IPv4 的地址格式,则返回值跟参数一样,这个函数不支持IPv6 的域名解析。
gethostbyname_ex 则是扩展后的接口,传入主机名,它能够返回 一个三元组 (原始主机名,域名列表,IP地址列表),这个函数同样不支持IPv6的域名解析。我们来看一下他们到底是怎么样使用的。
gethostbyname_ex 返回的信息 比 gethostbyname 多吧,gethostbyname 只能得到 IP 地址,而 gethostbyname_ex 能得到 百度原先的 域名,和 域名列表,以及地址列表,看到这两个IPv4 的地址没,他们是同一个网段的。我们来ping 一下百度,看一下结果正确不。
从图可以看出 ,“115.239.211.110 ” 就是 www.a.shifen.com
的IP地址,而“115.239.210.27” 就是 www.baidu.com 的IP 地址,他们都是百度的。看得出,gethostbyname_ex 比较强大,它可是gethostbyname的加强版。
相关文章推荐
- python的socket里 gethostbyname 与 gethostbyname_ex 的区别
- python socket编程入门(编写server实例)+send 与sendall的区别与使用方法
- python2和python3中使用socket.gethostbyname方法
- 用Python socket实现一个简单的http服务器(post 与get 的区别)、CGIHTTPServer 简单应用
- 用Python socket 实现一个简单的http服务器(post 与get 的区别)、CGI、WSGI、MVC
- shell+sed+awk和perl和python的区别
- A example for Socket connect use Python
- Python天天美味(27) - 网络编程起步(Socket发送消息)
- 使用Python找出本机支持的socket列表
- Python socket最简单
- 用Python与socket实现的网络服务器
- 小记最简单的socket服务器端和客户端的代码编写(C版和python版)
- Python的简单socket操作
- Python 网络编程起步(Socket发送消息)
- linux下socket和window下区别
- Python调用C的DLL和VC调用有什么区别?
- python socket 编程的简单example
- Python 网络编程起步(Socket发送消息)
- eMule中的 CAsyncSocketEx 类
- Python socket udp网络编程系列一(客户端)