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

 更新时间:2016年04月19日 09:38:51   作者:moxiaomomo  
这篇文章主要介绍了python实现域名系统(DNS)正向查询的方法,结合实例形式分析了Python使用socket模块下getaddrinfo方法进行域名查询的具体技巧,需要的朋友可以参考下

本文实例讲述了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函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

  • python中OrderedDict的使用方法详解

    python中OrderedDict的使用方法详解

    本篇文章主要介绍了python中OrderedDict的使用方法详解,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • 关于不懂Chromedriver如何配置环境变量问题解决方法

    关于不懂Chromedriver如何配置环境变量问题解决方法

    这篇文章主要介绍了关于不懂Chromedriver如何配置环境变量问题解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • django执行数据库查询之后实现返回的结果集转json

    django执行数据库查询之后实现返回的结果集转json

    这篇文章主要介绍了django执行数据库查询之后实现返回的结果集转json,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python实例小练习之Turtle绘制南方的雪花

    python实例小练习之Turtle绘制南方的雪花

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形
    2021-09-09
  • 浅谈一下Python中闭包的作用

    浅谈一下Python中闭包的作用

    这篇文章主要介绍了浅谈一下Python中闭包的作用,闭包特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变,需要的朋友可以参考下
    2023-12-12
  • 关于Django外键赋值问题详解

    关于Django外键赋值问题详解

    这段时间用django 做程序用到了一对多的关系的操作,下面分享一些心得体会,这篇文章主要给大家介绍了关于Django外键赋值问题的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • python实现发送form-data数据的方法详解

    python实现发送form-data数据的方法详解

    这篇文章主要介绍了python实现发送form-data数据的方法,结合实例形式分析了Python发送form-data数据的相关操作步骤、实现方法与注意事项,需要的朋友可以参考下
    2019-09-09
  • python HTTP协议相关库requests urllib基础学习

    python HTTP协议相关库requests urllib基础学习

    这篇文章主要介绍了python HTTP协议相关库requests urllib基础学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Python中accumulate函数的用法详解

    Python中accumulate函数的用法详解

    累积(accumulate)函数是Python标准库itertools中的一个强大工具,用于对可迭代对象进行累积操作,下面我们将深入探讨accumulate函数的用法,感兴趣的小伙伴可以了解下
    2023-11-11
  • 利用Python检测URL状态

    利用Python检测URL状态

    最近小编接到这样的需求,Python检测URL状态,并追加保存200的URL。接下来通过实例代码给大家分析讲解,需要的朋友跟随小编一起看看吧
    2019-07-07

最新评论