当前位置: 首页 > 图文教程 > 网络编程 > ASP > 域名登记查询(whois)很复杂吗--方法一

ASP
Server Application Error错误解决思路
ASP教程:在IIS环境下自己设置404页面
ASP代码出现80040e14错误的解决方法
Http_Referer,Server_Name和Http_Host
HTTP_X_FORWARDED_FOR和REMOTE_ADDR
总结的Server.Mappath的用法
巧用ASP脚本命令重启服务器
实现数字字符串的最大值、最小值和平均值
详解ASP脚本的执行顺序
理解认识阿里妈妈淘客系统对外接口通用规范
网站开发者参考:开源ASP网站源码
IIS管理程序Adsutil.vbs修改FTP服务器的PASV端口范围
ASP程序中调用函数Now()异常的问题
流量大的网站不要选择万能空间
网站挂马方式大总结
启动 W3SVC 服务报错怎么解决
Vista系统安装IIS7配置ASP运行环境
Server Application Error 8004EOOF错误
ASP不用模板直接简单生成HTML页面
ASP教程:gb2312和utf-8乱码问题解决

ASP 中的 域名登记查询(whois)很复杂吗--方法一


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 181 ::
收藏到网摘: n/a

  jjx原创,转载必须注明出处
要复制代码,请使用论坛的“复制“功能完成
chinaasp的域名查询要卖1000元,网友提了意见,却被吕科一句(你把他封装成组件试试?)给挡了回去。域名登记查询(whois)真的很复杂吗?

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