Home  >  Article  >  Backend Development  >  Detailed introduction to using xmlhttp to add domain name query function to the website

Detailed introduction to using xmlhttp to add domain name query function to the website

黄舟
黄舟Original
2017-03-07 16:16:191406browse

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. At this time, we can visit the NIC site http:// www.nic.net, click the "whois" link and enter the domain name to be queried, you can get the results we need.

The WHOIS server returns all whois data for queries on the international top-level domain names of .com, .net and .org, including website domain name registrants, management contracts, contact information (telephone, electronic mail) 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 whois (domain name query) services, 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 domain name details query (WHOIS) service in our own personal website. This article introduces how to use asp combined with xmlhttp programming to achieve this this function.

1. Principle:

The principle is very simple. Domain name 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 through ASP and send it back to the client.

At the same time, we use the xmlHttp protocol to achieve no refresh effect on the client web page and to request the server to retrieve WHOIS data.

The specific process is: the client puts forward a domain name query request through xmlhttp --> the ASP listening page in the WEB server accepts the request and uses xmlhttp to send a retrieval command to the WHOIS server --> the WHOIS database performs the query operation and returns The results are given to our own WEB server (html form) --> After the WEB server receives the content, it immediately transmits the results to the client --> The client browser uses vbscript to filter out the excess HTML and select the whois data for display.

2. Brief description of ASP XmlHttp programming:

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 an intermediate transfer. In actual applications, we can also omit this intermediate layer and use vbscript to directly send WHOIS information through xmlhttp. The database sends and receives data. However, in this case, it may be because "access data resources through (other) domains" in IE is disabled (by default), resulting in insufficient permissions and inability to execute, so the method of omitting the ASP middle layer is not very common.

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 a detailed introduction to using xmlhttp to add domain name query function to the website. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn