Whois 示例程序

2008-02-23 06:59:36来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

WhoIs服务允许你获得有关域名所有者,电子邮件地址所有者的有关信息。所有的信息储存在Internic的数据库中。这个不会向服务器发送任何命令。你只需要通过rs.internic.net的43号端口同服务器建立连接,然后发送你要查的域名或电子邮件地址就行了。如果找不到你要查找的信息,服务器会告诉你信息未找到,然后服务器将关闭与你的连接。

打开一个新的工程(都成一句废话了)。将Winsock控件添加到窗体中:

将txtResponse文本框控件的属性作小小的修改:MultyLine=True,ScrollBars - "3 - Both". 将下面的代码粘贴到相应的事件中:

Private Sub Command1_Click()

txtResponse = ""
Winsock1.Close
Winsock1.LocalPort = 0
Winsock1.Connect "rs.internic.net", 43

End Sub

Private Sub Command2_Click()

txtSearch = ""
txtResponse = ""

End Sub

Private Sub Winsock1_Connect()

Winsock1.SendData txtSearch & VBCrLf

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim strData As String

On Error Resume Next

Winsock1.GetData strData
txtResponse = txtResponse & strData

End Sub

请务必记住在尾处加上vbLf,表示要传送的文本的结束,否则服务器会一直在那里傻等。这点对任何Internet协议都适用。

运行程序后在文本框中输入要查找的东西,例如Oracle.com,然后按Lookup按钮。几秒钟之后服务器会将查到的资料返回给你。这些信息看起来象下面这个衰样。


原因是UNIX系统用相当于VB的vbLf来作为分行符,而不是vbCrLf。所以为了读起来更容易一些,你需要对收到的信息作一点处理。如果你用的是VB6,可以用下面的语句,用vbCrLf代替掉vbLf。

strData = Replace(strData, vbLf, vbCrLf)

Now the Winsock1_DataArrival event should look like this:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim strData As String

On Error Resume Next

Winsock1.GetData strData
strData = Replace(strData, vbLf, vbCrLf)
txtResponse = txtResponse & strData

End Sub

如果你要查某人的电子邮件地址,输入名字就行了。比如说 "gates,bill"。服务器会返回所有符合条件的记录。其中紧跟在名称后面的括号内是记录的ID。你也可以直接输入ID去查,但记住在ID前面加一个感叹号。


网上还有其他很多Whois服务器,你可以查国家,大学等等。在下面这个地址可获得Whois服务器的清单。ftp://siPB.mit.edu/pub/whois/whois-servers.list

上一篇: 在桌面上建立一个 Internet 快捷键
下一篇: 用Winsock制作一套聊天室和对话系统

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:实现窗体内部的左右移动

下一篇:掌握开发的武器-语言