45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:怎么样通过python实现域名系统正向查询?

怎么样通过python实现域名系统正向查询?

2016-09-28 05:13:49 来源:www.45fan.com 【

怎么样通过python实现域名系统正向查询?

本文实例讲述了python实现域名系统(DNS)正向查询的方法。分享给大家供大家参考,具体如下:

域名系统(DNS)是一个分布式的数据库,主要是用来把主机名换成IP地址。

DNS存在有两大理由:

(1)可以使用户方便记住名字,而不是纯粹的IP地址;
(2)允许服务器改变IP地址,但可以使用原来的域名。

系统中最基本的查询为正向查询,它会根据一个主机名来查找IP地址。例如如果你想从www.example.com上下载一个web页面,首先要寻找到IP地址。正想查询会帮你完成这个任务,它会把一个名字翻译成一个IP地址。

在python中定义了一个函数socket.getaddrinfo(),用来完成这种正向查询。它是这样定义的:

getaddrinfo(host, port[,family[, sockettype[, proto[, flags]]]])

host参数就是想寻找的域名,而其他的参数只有在你想把结果直接传递给socket.socket()或socket.connect()时才会用到。

下面是正向查询的小例子:

import sys, socket
result = socket.getaddrinfo(sys.argv[1], None, 0, socket.SOCK_STREAM)
counter = 0;
for item in result:
 print "%-2d: %s" % (counter, item[4])
 counter += 1

运行结果:

怎么样通过python实现域名系统正向查询?

希望本文所述对大家Python程序设计有所帮助。


本文地址:http://www.45fan.com/a/question/76116.html
Tags: 实现 python 域名
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部