域名登记查询主要是通过whois服务器来完成的,当前比较常用的是rs.internic.net,通过它可以查询各种国际域名是否注册。whois的端口通常是43。利用winsock,你可以在asp简单的实现这个功能asp不同于php/jsp,winsock功能并不内置,所以必须借助第三方的winsock组件。这里的举例使用了serverobjects的aspsock,代码的注释比较详细,大家可以举一翻三aspsock不是免费的,需要$49,如果需要免费的大家可以自己封装vb6中的winsock控件或从这个地址下载免费的xceed winsock library v1.1
ftp://ftp.xceedsoft.com/pub/xceedwsl.exe
该组件的主页是
http://www.xceedsoft.com/
whois.asp
-------------------------------------------
<%@ language=vbscript %>
<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
</head>
<body>
<form action=whois.asp method=post>
域名:www<b>.</b> <input size=8 name=domainname value="<% =request("domainname") %>">. <select name=ext> <option
selected>com</option> <option.net</option> <option>org</option>
</select>
<input class=input1 type=submit value=域名查询 name=submit>
</form>
<%
dim strresult
if request.servervariables("request_method")="post" then
dim strquery
'取得需要查询的域名
strquery=request("domainname") & "." & request("ext")
dim objsock
'创建sock对象
set objsock=server.createobject("aspsock.conn")
'设置whois服务器为rs.internic.net
objsock.remotehost="rs.internic.net"
'设置whois服务器端口为43
objsock.port=43
'设置操作的超时为60秒
objsock.timeout=60
'打开与remotehost的连接,返回真为成功
if objsock.open then
'发出查询 writeln表示用vbcrlf终结(strquery & vbcrlf)
objsock.writeln strquery
'读取返回值,最大长度为65535
strresult=objsock.readbytesasstring(65535)
'关闭连接
objsock.close
'打印查询结果,你可以需要对此作些处理
response.write "<b>查询结果</b><br><textarea rows=10 cols=60>" & strresult & "</textarea>"
end if
set objsock=nothing
end if
%>
</body>
</html>
利用winsock可以完成许多asp不太可能完成的事情,比方像网易一样真正无刷新的聊天室,大家仔细研究研究
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器