WHOIS效劳器为 .com、.net 和 .org 的国际顶级域名的查询返回悉数的 whois 数据,包含网站域名注册人、治理合约、联系体式格局(电话、电子邮件、地点)、帐单联系、技术支持和域名效劳器信息,关于用户相识一个网站的基本情况很有协助。在许多域名注册效劳商的网站中,平常都有whois(域名查询)的高等效劳,但个人网站由于不具备域名注册效劳商的资历和数据,所以在平常条件下没法供应whois效劳。
实在,运用XMLHTTP协定,我们每个人都能够在本身的个人网站中供应域名细致情况查询(WHOIS)效劳,本文引见了怎样运用ASP连系xmlhttp编程来完成这个功用。
一、道理:
道理异常简朴,域名的查询主如果基于RFC 954供应的WHOIS协定。在完成过程当中,我们经由过程本身的WEB效劳器接见NIC站点的WHOIS数据库效劳器,从WHOIS数据库中查询我们所须要的内容,然后经由过程ASP组合成网页回送给客户端。
同时,我们运用xmlHttp协定完成客户端网页无革新结果以及向效劳端提出检索WHOIS数据的要求。
细致流程为:客户端经由过程xmlhttp提出域名查询要求-->WEB效劳器中的ASP侦听页吸收要求后运用xmlhttp向WHOIS效劳器发送检索敕令-->WHOIS数据库实行查询操纵,返回结果给我们本身的WEB效劳器(html情势)-->WEB效劳器吸收到内容后,立行将结果传送给客户端->客户端浏览器运用vbscript过滤掉HTML过剩部份,挑选出whois数据显示出来。
二、ASP XmlHttp编程简述:
1、客户端html页面:
<script language="vbscript"> Sub submit1_onmouseup '当点击“查询”按钮时触发; Dim objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL,TheForm Set TheForm = Document.wordfind window.status="正在检索数据···" strURL="dns.asp" Set objXML = CreateObject("Microsoft.XMLHTTP") '建立MS的XMLHTTP组件; stra = "submit=submit&fqdn="&TheForm.words.value objXML.Open "post",strURL,false '采纳Post提交体式格局; objXML.setrequestheader "content-length",len(stra) objXML.setrequestheader "content-type","application/x-www-form-urlencoded" objXML.send stra ' 发送信息 xmlGet = objXML.responseText '稍等片刻后,获得效劳器端传返来的结果; if instr(1,xmlGet,"This is not a valid .com .net .org .info or .biz domain name",1)<1 and len(trim(xmlGet))>100 then if instr(1,xmlGet,"This domain is available",1)<1 then if instr(1,xmlGet,"Registrant:",1) then strFind1 =instr(1,xmlGet,"Registrant:",1) else strFind1 = instr(1,xmlGet,"<pre><FONT face=""Verdana, Arial",1)+65 strFind2 = instr(1,xmlGet,"</FONT></pre>",1) strFind4=strFind2-strFind1 sHTML = mid(xmlGet,strFind1,strFind4) TheForm.comments.value="查询结果:"+chr(13)+chr(10)+sHTML window.status="查询结果:该域名已被占用" else TheForm.comments.value="祝贺你,此域名可用!" window.status="查询结果:该域名依然处于可用状况!" end if else TheForm.comments.value= "无效的国际顶级域名!请输入以(.com .net .org .info or .biz)末端的国际域名, 比方sun.com" window.status="无效的国际顶级域名!请输入以(.com .net .org .info or .biz)末端的国际域名, 比方CCTV.com" end if Set objXML = Nothing end sub </script> <html><head><title>XMLHTTP之域名查询篇</title></head> <body bgColor=#cccca3> <form method="post" name=wordfind onsubmit="javascript:return false"> 请输入域名称号:<input type="text" value="cctv.com" name="words" size="69"> <input type="submit" value="查询" id=Submit1 name=Submit1> <TEXTAREA name=comments readonly rows=10 cols=76></TEXTAREA> </form></body></html>
2、效劳器端ASP顺序:
<%dim xmlGet,objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL xmlGet="" if len(trim(Request.form("fqdn"))) > 1 then strURL="http://www.domainbank.net/whoisresults_gen.cfm?show=1" 'WhoIS效劳器的地点 Set objXML = CreateObject("Microsoft.XMLHTTP") '建立MS的XMLHTTP组件 stra = "submit=submit&fqdn="&trim(Request.form("fqdn")) objXML.Open "post",strURL,false objXML.setrequestheader "content-length",len(stra) objXML.setrequestheader "content-type","application/x-www-form-urlencoded" objXML.send stra ' 发送信息到WhoIs数据库效劳器; xmlGet = objXML.responseText ' 获得域名效劳器返回的信息 Set objXML = Nothing end if response.write xmlGet '返回结果给客户端 %>
在上述过程当中,能够发明我们本身的WEB效劳器中的ASP顺序实在只起到一个中心通报的作用,在现实运用中,也能够省去这个中心层,运用vbscript经由过程xmlhttp直接向WHOIS数据库发送和吸收数据。不过如许的话,可能会由于IE中“经由过程(别的)域接见数据资本”被禁用(默许)而引发权限不够致使没法实行,所以该省去ASP中心层的要领并不太通用。
本顺序在基于Windows2000平台的IIS5.0和IE6.0上运转经由过程。现实运用过程当中,能够把上述代码拷贝到本身网页中,经由简朴的页面编辑,就可在本身的网页中增添在页面无革新情况下的域名查询功用了,初看上去,还真的有点象专业的域名注册效劳商网站供应的效劳了。
以上就是运用xmlhttp为网站增添域名查询功用的示例代码分享的细致内容,更多请关注ki4网别的相干文章!