欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)域名系統(tǒng)(DNS)正向查詢(xún)的方法

 更新時(shí)間:2016年04月19日 09:38:51   作者:moxiaomomo  
這篇文章主要介紹了python實(shí)現(xiàn)域名系統(tǒng)(DNS)正向查詢(xún)的方法,結(jié)合實(shí)例形式分析了Python使用socket模塊下getaddrinfo方法進(jìn)行域名查詢(xún)的具體技巧,需要的朋友可以參考下

本文實(shí)例講述了python實(shí)現(xiàn)域名系統(tǒng)(DNS)正向查詢(xún)的方法。分享給大家供大家參考,具體如下:

域名系統(tǒng)(DNS)是一個(gè)分布式的數(shù)據(jù)庫(kù),主要是用來(lái)把主機(jī)名換成IP地址。

DNS存在有兩大理由:

(1)可以使用戶方便記住名字,而不是純粹的IP地址;
(2)允許服務(wù)器改變IP地址,但可以使用原來(lái)的域名。

系統(tǒng)中最基本的查詢(xún)?yōu)檎虿樵?xún),它會(huì)根據(jù)一個(gè)主機(jī)名來(lái)查找IP地址。例如如果你想從www.example.com上下載一個(gè)web頁(yè)面,首先要尋找到IP地址。正想查詢(xún)會(huì)幫你完成這個(gè)任務(wù),它會(huì)把一個(gè)名字翻譯成一個(gè)IP地址。

在python中定義了一個(gè)函數(shù)socket.getaddrinfo(),用來(lái)完成這種正向查詢(xún)。它是這樣定義的:

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

host參數(shù)就是想尋找的域名,而其他的參數(shù)只有在你想把結(jié)果直接傳遞給socket.socket()或socket.connect()時(shí)才會(huì)用到。

下面是正向查詢(xún)的小例子:

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

運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論