程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> Whois示例程序

Whois示例程序

編輯:VB綜合教程
WhoIs服務允許你獲得有關域名所有者,電子郵件地址所有者的有關信息。所有的信息儲存在Internic的數據庫中。這個不會向服務器發送任何命令。你只需要通過rs.internic.net的43號端口同服務器建立連接,然後發送你要查的域名或電子郵件地址就行了。如果找不到你要查找的信息,服務器會告訴你信息未找到,然後服務器將關閉與你的連接。
  
  打開一個新的工程(都成一句廢話了)。將Winsock控件添加到窗體中:
  
  將txtResponse文本框控件的屬性作小小的修改:MultyLine=True,ScrollBars-"3-Both".將下面的代碼粘貼到相應的事件中:
  
  PrivateSubCommand1_Click()
  
  txtResponse=""
  Winsock1.Close
  Winsock1.LocalPort=0
  Winsock1.Connect"rs.internic.net",43
  
  EndSub
  
  PrivateSubCommand2_Click()
  
  txtSearch=""
  txtResponse=""
  
  EndSub
  
  PrivateSubWinsock1_Connect()
  
  Winsock1.SendDatatxtSearch&vbCrLf
  
  EndSub
  
  PrivateSubWinsock1_DataArrival(ByValbytesTotalAsLong)
  
  DimstrDataAsString
  
  OnErrorResumeNext
  
  Winsock1.GetDatastrData
  txtResponse=txtResponse&strData
  
  EndSub
  
  請務必記住在尾處加上vbLf,表示要傳送的文本的結束,否則服務器會一直在那裡傻等。這點對任何Internet協議都適用。
  
  運行程序後在文本框中輸入要查找的東西,例如oracle.com,然後按Lookup按鈕。幾秒鐘之後服務器會將查到的資料返回給你。這些信息看起來象下面這個衰樣。
  
  
  原因是UNIX系統用相當於VB的vbLf來作為分行符,而不是vbCrLf。所以為了讀起來更容易一些,你需要對收到的信息作一點處理。如果你用的是VB6,可以用下面的語句,用vbCrLf代替掉vbLf。
  
  strData=Replace(strData,vbLf,vbCrLf)
  
  NowtheWinsock1_DataArrivaleventshouldlooklikethis:
  
  PrivateSubWinsock1_DataArrival(ByValbytesTotalAsLong)
  
  DimstrDataAsString
  
  OnErrorResumeNext
  
  Winsock1.GetDatastrData
  strData=Replace(strData,vbLf,vbCrLf)
  txtResponse=txtResponse&strData
  
  EndSub
  
  如果你要查某人的電子郵件地址,輸入名字就行了。比如說"gates,bill"。服務器會返回所有符合條件的記錄。其中緊跟在名稱後面的括號內是記錄的ID。你也可以直接輸入ID去查,但記住在ID前面加一個感歎號。
  
  
  網上還有其他很多Whois服務器,你可以查國家,大學等等。在下面這個地址可獲得Whois服務器的清單。ftp://sipb.mit.edu/pub/whois/whois-servers.list->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved