python實現(xiàn)域名系統(tǒng)(DNS)正向查詢的方法
本文實例講述了python實現(xiàn)域名系統(tǒng)(DNS)正向查詢的方法。分享給大家供大家參考,具體如下:
域名系統(tǒng)(DNS)是一個分布式的數(shù)據(jù)庫,主要是用來把主機名換成IP地址。
DNS存在有兩大理由:
(1)可以使用戶方便記住名字,而不是純粹的IP地址;
(2)允許服務器改變IP地址,但可以使用原來的域名。
系統(tǒng)中最基本的查詢?yōu)檎虿樵?,它會根?jù)一個主機名來查找IP地址。例如如果你想從www.example.com上下載一個web頁面,首先要尋找到IP地址。正想查詢會幫你完成這個任務,它會把一個名字翻譯成一個IP地址。
在python中定義了一個函數(shù)socket.getaddrinfo(),用來完成這種正向查詢。它是這樣定義的:
getaddrinfo(host, port[,family[, sockettype[, proto[, flags]]]])
host參數(shù)就是想尋找的域名,而其他的參數(shù)只有在你想把結(jié)果直接傳遞給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
運行結(jié)果:
更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
解決tensorflow測試模型時NotFoundError錯誤的問題
今天小編就為大家分享一篇解決tensorflow測試模型時NotFoundError錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07