Whois示例程序
有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Whois示例程序吧。
打开一个新的工程(都成一句废话了)。将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->