python實現域名系統(tǒng)(DNS)正向查詢的方法
本文實例講述了python實現域名系統(tǒng)(DNS)正向查詢的方法。分享給大家供大家參考,具體如下:
域名系統(tǒng)(DNS)是一個分布式的數據庫,主要是用來把主機名換成IP地址。
DNS存在有兩大理由:
(1)可以使用戶方便記住名字,而不是純粹的IP地址;
(2)允許服務器改變IP地址,但可以使用原來的域名。
系統(tǒng)中最基本的查詢?yōu)檎虿樵?,它會根據一個主機名來查找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程序設計有所幫助。
相關文章
解決tensorflow測試模型時NotFoundError錯誤的問題
今天小編就為大家分享一篇解決tensorflow測試模型時NotFoundError錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07