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é à ce moment-là. nous pouvons visiter le site Web du NIC http://www.nic.net, cliquer sur le lien « whois » et saisir le nom de domaine à interroger, vous pouvez 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 le titulaire du nom de domaine du site Web, le contrat de gestion, les coordonnées (téléphone , courrier électronique) E-mail, adresse), contact de facturation, support technique et informations sur le serveur de noms de domaine sont très utiles aux utilisateurs pour comprendre la situation de base d'un site Web. De nombreux sites Web d'enregistrement de noms de domaine disposent généralement de services whois (requête de nom de domaine) avancés. Cependant, 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 fait, en utilisant le protocole xmlHTTP, chacun de nous peut fournir un service de requête de détails de nom de domaine (WHOIS) sur son propre site Web personnel. Cet article présente comment utiliser asp combiné avec la programmation xmlhttp. pour réaliser cela cette fonction.
1. Principe :
Le principe est très simple La requête de nom de domaine repose principalement sur le protocole WHOIS fourni par la RFC 954. Au cours du processus de mise en œuvre, nous accédons au serveur de base de données WHOIS du site NIC via notre propre serveur WEB, recherchons le contenu dont nous avons besoin dans la base de données WHOIS, puis le combinons dans une page Web via ASP et le renvoyons au client.
Parallèlement, nous utilisons le protocole xmlHttp pour obtenir un effet non rafraîchissant sur la page Web du client et pour demander au serveur de récupérer les données WHOIS.
Le processus spécifique est le suivant : le client fait une demande de requête de nom de domaine via xmlhttp --> la page d'écoute ASP du serveur WEB accepte la demande et utilise xmlhttp pour envoyer une commande de récupération au serveur WHOIS --> la base de données WHOIS effectue l'opération de requête et renvoie Les résultats sont donnés à notre propre serveur WEB (formulaire html) --> Une fois que le serveur WEB a reçu le contenu, il transmet immédiatement les résultats au client --> Le navigateur client utilise vbscript pour filtrez l'excès de code HTML et sélectionnez 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, nous pouvons constater que le programme ASP de notre propre serveur WEB ne joue en fait qu'un rôle de transfert intermédiaire dans les applications réelles, nous pouvons également omettre cette couche intermédiaire et utiliser vbscript pour passer. xmlhttp envoie et reçoit des données directement vers la base de données WHOIS. Cependant, dans ce cas, cela peut être dû au fait que "Accéder aux ressources de données via (d'autres) domaines" dans IE est désactivé (par défaut), ce qui entraîne des autorisations insuffisantes et une incapacité à exécuter, donc la méthode d'omission de la couche intermédiaire ASP n'est pas très commun.
Ce programme s'exécute 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 une introduction détaillée à l'utilisation de xmlhttp pour ajouter une fonction de requête de nom de domaine au site Web. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !