python实现域名系统(DNS)正向查询的方法


Posted in Python onApril 19, 2016

本文实例讲述了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实现域名系统(DNS)正向查询的方法

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

Python 相关文章推荐
Python标准库之循环器(itertools)介绍
Nov 25 Python
python中split方法用法分析
Apr 17 Python
深入理解Python装饰器
Jul 27 Python
Python生成随机密码的方法
Jun 16 Python
python自定义异常实例详解
Jul 11 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
在Python中COM口的调用方法
Jul 03 Python
python topk()函数求最大和最小值实例
Apr 02 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
python安装与使用redis的方法
Apr 19 #Python
Python实现文件复制删除
Apr 19 #Python
利用Python获取赶集网招聘信息前篇
Apr 18 #Python
Python Sql数据库增删改查操作简单封装
Apr 18 #Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 #Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 #Python
python动态加载包的方法小结
Apr 18 #Python
You might like
解析php常用image图像函数集
2013/06/24 PHP
php中 $$str 中 "$$" 的详解
2015/07/06 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
php防止用户重复提交表单
2015/11/02 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
JS实现方形抽奖效果
2018/08/27 Javascript
Python 2.7中文显示与处理方法
2018/07/16 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
python面向对象法实现图书管理系统
2019/04/19 Python
详解用python生成随机数的几种方法
2019/08/04 Python
Python数学形态学实例分析
2019/09/06 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
英国打印机墨盒销售网站:Ink Factory
2019/10/07 全球购物
竞选班长演讲稿
2013/12/30 职场文书
转预备党员政审材料
2014/02/06 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
图书馆义工感想
2015/08/07 职场文书
人民币使用说明书
2019/04/17 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
导游词之日本富士山
2020/01/06 职场文书