Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die Verwendung von xmlhttp zum Hinzufügen einer Domainnamen-Abfragefunktion zur Website

Detaillierte Einführung in die Verwendung von xmlhttp zum Hinzufügen einer Domainnamen-Abfragefunktion zur Website

黄舟
黄舟Original
2017-03-07 16:16:191494Durchsuche

Wenn wir die Erstellung einer Website vorbereiten, müssen wir einen Internet-Domainnamen bei der Domainnamen-Registrierungsagentur beantragen. Daher möchten wir normalerweise wissen, ob der Domainname, den wir verwenden möchten, zu diesem Zeitpunkt registriert wurde. Wenn wir die NIC-Website http://www.nic.net besuchen, auf den „whois“-Link klicken und den abzufragenden Domainnamen eingeben, erhalten wir die benötigten Ergebnisse.

Der WHOIS-Server gibt alle Whois-Daten für die internationalen Top-Level-Domainnamen .com, .net und .org zurück, einschließlich Website-Domainnamen-Registranten, Verwaltungsvertrag, Kontaktinformationen (Telefon). , E-Mail) E-Mail, Adresse), Rechnungskontakt, technischer Support und Domain-Name-Server-Informationen sind für Benutzer sehr hilfreich, um die Grundsituation einer Website zu verstehen. Viele Websites von Domainnamen-Registratoren verfügen in der Regel über erweiterte Whois-Dienste (Abfrage von Domainnamen). Persönliche Websites können jedoch unter den allgemeinen Bedingungen keine Whois-Dienste anbieten, da sie nicht über die Qualifikationen und Daten von Domainnamen-Registratoren verfügen.

Tatsächlich kann jeder von uns mithilfe des xmlHTTP-Protokolls einen Domainnamen-Detailabfragedienst (WHOIS) auf seiner eigenen persönlichen Website bereitstellen. In diesem Artikel wird die Verwendung von ASP in Kombination mit der XMLhttp-Programmierung vorgestellt um diese Funktion zu erreichen.

1. Prinzip:

Das Prinzip ist sehr einfach und basiert hauptsächlich auf dem WHOIS-Protokoll, das von RFC 954 bereitgestellt wird. Während des Implementierungsprozesses greifen wir über unseren eigenen WEB-Server auf den WHOIS-Datenbankserver der NIC-Site zu, fragen den benötigten Inhalt aus der WHOIS-Datenbank ab, kombinieren ihn dann über ASP zu einer Webseite und senden ihn an den Client zurück.

Gleichzeitig verwenden wir das xmlHttp-Protokoll, um einen nicht aktualisierenden Effekt auf der Client-Webseite zu erzielen und den Server aufzufordern, WHOIS-Daten abzurufen.

Der spezifische Prozess ist: Der Client stellt über xmlhttp eine Anfrage zur Domänennamenabfrage --> die ASP-Abhörseite im WEB-Server akzeptiert die Anfrage und sendet mit xmlhttp einen Abrufbefehl an den WHOIS-Server --> Die WHOIS-Datenbank führt den Abfragevorgang aus und gibt die Ergebnisse zurück. Wir geben sie an unseren eigenen WEB-Server weiter (HTML-Formular). -> Nachdem der WEB-Server den Inhalt empfangen hat, überträgt er die Ergebnisse sofort an den Client. -> Der Client-Browser verwendet VBScript, um Filtern Sie den überschüssigen HTML-Code heraus und wählen Sie die Whois-Daten zur Anzeige aus.

2. Kurze Beschreibung der ASP-XmlHttp-Programmierung:

1. Client-HTML-Seite:

<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. Serverseitiges ASP-Programm:

<%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 '返回结果给客户端
%>

Im obigen Prozess können wir feststellen, dass das ASP-Programm auf unserem eigenen WEB-Server tatsächlich nur eine Zwischenübertragungsrolle spielt. In tatsächlichen Anwendungen können wir diese mittlere Schicht auch weglassen und vbscript zum Übergeben verwenden xmlhttp sendet und empfängt Daten direkt an die WHOIS-Datenbank. In diesem Fall kann es jedoch daran liegen, dass „Zugriff auf Datenressourcen über (andere) Domänen“ im IE (standardmäßig) deaktiviert ist, was zu unzureichenden Berechtigungen und der Unfähigkeit zur Ausführung führt, sodass die Methode zum Weglassen der ASP-Mittelschicht nicht sehr geeignet ist gemeinsam.

Dieses Programm läuft erfolgreich auf IIS5.0 und IE6.0 basierend auf der Windows 2000-Plattform. Bei der tatsächlichen Verwendung können Sie den obigen Code auf Ihre eigene Webseite kopieren. Nach der einfachen Seitenbearbeitung können Sie die Domainnamen-Abfragefunktion ohne Seitenaktualisierung zu Ihrer eigenen Webseite hinzufügen. Auf den ersten Blick sieht es wirklich ein bisschen wie eine professionelle Domain aus Die Website des Namensregistrators bietet Dienstleistungen an.

Das Obige ist eine detaillierte Einführung in die Verwendung von xmlhttp zum Hinzufügen einer Domainnamen-Abfragefunktion zur Website. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn