When we prepare to build a Web site, we must apply for an Internet domain name from the domain name registration agency. Therefore, we usually want to know whether the domain name we intend to use has been registered. In this case, we can visit the NIC website www.nic. net, click the "whois" link and enter the domain name requiredquery, then We can get the results we need.
WHOIS server returns all whois data for the international top-level domain names of .com, .net and .org, including website domain name registrant, management contract, contact information (phone number, Email, address), billing contact, technical support and domain name server information are very helpful for users to understand the basic situation of a website. Many domain name registrar websites usually have advanced services of whois (domain name query). , but personal websites cannot provide whois services under general conditions because they do not have the qualifications and data of domain name registrars.
In fact, using the XMLHTTP protocol, each of us can provide it in our own personal website. Domain name details query (WHOIS) service, this article introduces how to use ASP combined with xmlhttpProgramming to implement this function
1. Principle:
The principle is very simple, domain name. The query is mainly based on the WHOIS protocol provided by RFC 954. During the implementation process, we access the WHOIS database server of the NIC site through our own WEB server, query the content we need from the WHOIS database, and then combine it into a web page and send it back through ASP. Client.
At the same time, we use the xmlHttp protocol to achieve the non-refreshing effect of the client web page and make a request to the server to retrieve WHOIS data. The specific process is: the client submits a domain name query through xmlhttp. Requirements-->The ASP listening page in the WEB server accepts the request and uses xmlhttp to send the retrieval command to the WHOIS server-->WHOIS database performs query operations and returns the results to our own WEB server (html form)-->WEB server receives After receiving the content, the result is immediately sent to the client -> The client browser uses vbscript to filter out the excess HTML and select the whois data to display. 2. ASP XmlHttp programming brief introduction:
1. Client html page:
<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. Server-side ASP program:
<%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 '返回结果给客户端 %>
In the above process, we can find that the ASP program in our own WEB server actually only plays the role of The role of an intermediate transfer can also be omitted in practical applications, and vbscript can be used to directly send and receive data to the WHOIS database through xmlhttp. However, in this case, it may be because "Access data resources through (
other) domains" in IE is disabled (default), resulting in insufficient permissions and inability to execute, so the method of omitting the ASP middle layer is not very practical. Universal.
This program runs successfully on IIS5.0 and IE6.0 based on Windows 2000 platform. In actual use, you can copy the above code to your own web page. After simple page editing, you can add the domain name query function without page refresh to your own web page. At first glance, it really looks a bit like Professional domain name registrar website provides services.
The above is the detailed content of Sample code sharing for using xmlhttp to add domain name query function to the website. For more information, please follow other related articles on the PHP Chinese website!