Maison  >  Article  >  développement back-end  >  Exemple de partage de code pour utiliser XMLhttp afin d'ajouter une fonction de requête de nom de domaine au site Web

Exemple de partage de code pour utiliser XMLhttp afin d'ajouter une fonction de requête de nom de domaine au site Web

黄舟
黄舟original
2017-03-27 17:05:401315parcourir

Lorsque nous nous préparons à créer un site Web, nous devons demander un nom de domaine Internet auprès de l'agence d'enregistrement de noms de domaine. Par conséquent, nous voulons généralement savoir si le nom de domaine que nous avons l'intention d'utiliser a été enregistré. nous pouvons visiter le site Web de NIC www.nic.net, cliquer sur le lien "whois" et saisir le nom de domaine que vous souhaitez interroger Nous pouvons obtenir les résultats dont nous avons besoin.

Le serveur WHOIS renvoie toutes les données whois pour les noms de domaine internationaux de premier niveau .com, .net et .org, y compris les sites Web. le titulaire du nom de domaine, le contrat de gestion, les informations de contact (téléphone, numéro de téléphone, e-mail, adresse), le contact de facturation, le support technique et les informations sur le serveur de noms de domaine sont généralement très utiles aux utilisateurs pour comprendre la situation de base d'un site Web. disposent de services avancés de whois (requête de nom de domaine). , mais les sites Web personnels ne peuvent pas fournir de services whois dans les conditions générales car ils ne disposent pas des qualifications et des données des bureaux d'enregistrement de noms de domaine

En effet, utilisant le protocole XMLHTTP, chacun de nous peut le fournir sur son propre site Web personnel. Service de requête de détails de nom de domaine (WHOIS), cet article explique comment utiliser ASP combiné avec la programmation xmlhttp

pour implémenter cette fonction

1. Principe :

Le principe est très simple, nom de domaine. La requête est principalement basée sur le protocole WHOIS fourni par RFC 954. Lors du processus d'implémentation, nous accédons au serveur de base de données WHOIS du site NIC via notre propre WEB. serveur, interrogez le contenu dont nous avons besoin dans la base de données WHOIS, puis combinez-le dans une page Web et renvoyez-le via le client ASP

En même temps, nous utilisons le protocole xmlHttp pour obtenir le non-. effet d'actualisation de la page Web du client et faire une demande au serveur pour récupérer les données WHOIS

Le processus spécifique est le suivant : le client soumet une requête de nom de domaine via XMLhttp. Exigences -> La page d'écoute ASP dans le fichier. Le serveur WEB accepte la demande et utilise xmlhttp pour envoyer la commande de récupération au serveur WHOIS -> La base de données WHOIS effectue des opérations de requête et renvoie les résultats à notre propre serveur WEB (formulaire HTML) -> Le serveur WEB reçoit Après avoir reçu le contenu, le le résultat est immédiatement envoyé au client -> Le navigateur client utilise vbscript pour filtrer l'excès de HTML et sélectionner les données whois à afficher

2. Brève description de la programmation ASP XmlHttp :

1. . Page html client :

 <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. Programme ASP côté serveur :

<%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 '返回结果给客户端
%>
Dans le processus ci-dessus, vous pouvez trouver le programme ASP dans notre propre serveur WEB. elle ne joue que le rôle d'un transfert intermédiaire. Dans les applications pratiques, cette couche intermédiaire peut également être omise et vbscript peut être utilisé pour envoyer et recevoir directement des données vers la base de données WHOIS via xmlhttp. Cependant, dans ce cas, cela peut être dû au fait que « Accéder aux ressources de données via (

Autre) domaines » dans IE est désactivé (par défaut), ce qui entraîne des autorisations insuffisantes et une incapacité à s'exécuter, donc la méthode d'omission du La couche intermédiaire ASP n'est pas très pratique.

Ce programme fonctionne avec succès sur IIS5.0 et IE6.0 basés sur la plateforme Windows 2000. En utilisation réelle, vous pouvez copier le code ci-dessus sur votre propre page Web. Après une simple édition de page, vous pouvez ajouter la fonction de requête de nom de domaine sans actualisation de page à votre propre page Web. À première vue, cela ressemble vraiment un peu à un domaine professionnel. Le site Web du registraire de noms fournit des services.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn