·您的位置: 首页 » 资源教程 » 编程开发 » ASP » 用ASP解决域名登记查询

用ASP解决域名登记查询

类别: ASP教程  评论数:0 总得分:0
方法一:

域名登记查询主要是通过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不太可能完成的事情,比方像网易一样真正无刷新的聊天室,大家仔细研究研究吧

方法二:

<%@ 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>
<OPTION>com.cn</OPTION> <OPTION>net.cn</OPTION> <OPTION>org.cn</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
select case request("ext")
case "com","net","org"
objSock.RemoteHost="rs.internic.net"
gj=0
case "com.cn","net.cn","org.cn"
objSock.RemoteHost="drop.cnnic.net.cn"
gj=1
end select
\'设置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>"
select case gj
case "0"
str1=inter(strresult)
response.write str1
Response.Write "<b>查询结果</b><br><textarea rows=10 cols=60>" & strResult & "</textarea>"
case "1"
str1=cnnic(strresult)
response.write str1
Response.Write "<b>查询结果</b><br><textarea rows=10 cols=60>" & strResult & "</textarea>"
end select
end if
Set objSock=Nothing

end if

function inter(str)
if instr(str,"No match")=0 then
response.write "您的域名已经被注册。"
else
response.write "您的域名没有被注册。"
end if
end function

function cnnic(str)
if instr(str,"%")=0 then
response.write "您的域名已经被注册。"
else
response.write "您的域名没有被注册。"
end if
end function
%>


</BODY>
</HTML>
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1