使用xmlhttp为网站增加域名查询功能详细介绍
当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果。
WHOIS服务器为 .com、.net 和 .org 的国际顶级域名的查询返回全部的 whois 数据,包括网站域名注册人、管理合约、联系方式(电话、电子邮件、地址)、帐单联络、技术支持和域名服务器信息,对于用户了解一个网站的基本情况很有帮助。在很多域名注册服务商的网站中,通常都有whois(域名查询)的高级服务,但个人网站因为不具备域名注册服务商的资格和数据,所以在一般条件下无法提供whois服务。
其实,利用xmlHTTP协议,我们每个人都可以在自己的个人网站中提供域名详细情况查询(WHOIS)服务,本文介绍了如何使用asp结合xmlhttp编程来实现这个功能。
一、原理:
原理非常简单,域名的查询主要是基于RFC 954提供的WHOIS协议。在实现过程中,我们通过自己的WEB服务器访问NIC站点的WHOIS数据库服务器,从WHOIS数据库中查询我们所需要的内容,然后通过ASP组合成网页回送给客户端。
同时,我们使用xmlHttp协议实现客户端网页无刷新效果以及向服务端提出检索WHOIS数据的要求。
具体流程为:客户端通过xmlhttp提出域名查询要求-->WEB服务器中的ASP侦听页接受请求后使用xmlhttp向WHOIS服务器发送检索命令-->WHOIS数据库执行查询操作,返回结果给我们自己的WEB服务器(html形式)-->WEB服务器接收到内容后,立即将结果传送给客户端->客户端浏览器使用vbscript过滤掉HTML多余部分,挑选出whois数据显示出来。
二、ASP XmlHttp编程简述:
1、客户端html页面:
<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、服务器端ASP程序:
<%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 '返回结果给客户端 %>
在上述过程中,可以发现我们自己的WEB服务器中的ASP程序其实只起到一个中间传递的作用,在实际应用中,也可以省去这个中间层,使用vbscript通过xmlhttp直接向WHOIS数据库发送和接收数据。不过这样的话,可能会因为IE中“通过(其它)域访问数据资源”被禁用(默认)而引起权限不够导致无法执行,所以该省去ASP中间层的方法并不太通用。
本程序在基于Windows2000平台的IIS5.0和IE6.0上运行通过。实际使用过程中,可以把上述代码拷贝到自己网页中,经过简单的页面编辑,就可在自己的网页中增加在页面无刷新情况下的域名查询功能了,初看上去,还真的有点象专业的域名注册服务商网站提供的服务了。
以上就是使用xmlhttp为网站增加域名查询功能详细介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

学c语言的网站:1、C语言中文网;2、菜鸟教程;3、C语言论坛;4、C语言帝国;5、脚本之家;6、天极网;7、红黑联盟;8、51自学网;9、力扣;10、C Programming。详细介绍:1、C语言中文网,这是一个专门为初学者提供C语言学习资料的网站,内容丰富,包括基础语法、指针、数组、函数、结构体等多个模块;2、菜鸟教程,这是一个综合性的编程学习网站等等。

您是否每天在大约相同的时间频繁访问同一网站?这可能会导致花费大量时间打开多个浏览器选项卡,并在执行日常任务时使浏览器充满混乱。好吧,打开它而不必手动启动浏览器怎么样?这非常简单,不需要您下载任何第三方应用程序,如下所示。如何设置任务计划程序以打开网站?按键,在搜索框中键入任务计划程序,然后单击打开。Windows在右侧边栏上,单击“创建基本任务”选项。在名称字段中,输入要打开的网站的名称,然后单击下一步。接下来,在触发器下,单击时间频率并点击下一步。选择您希望活动重复多长时间并点击下一步。选择启

在macOSSonoma和Safari17中,您可以将网站变成“网络应用程序”,这些应用程序可以位于Mac的扩展坞中,并且可以像任何其他应用程序一样访问,而无需打开浏览器。继续阅读以了解其工作原理。多亏了Apple的Safari浏览器中的新选项,现在可以将您经常访问的互联网上的任何网站变成一个独立的“网络应用程序”,位于Mac的扩展坞中,随时供您访问。Web应用程序与任何应用程序一样与任务控制和舞台管理器配合使用,也可以通过Launchpad或SpotlightSearch打开。如何将任何网站变

有时,出于多种原因,我们希望在MicrosoftEdge上阻止某些网站,无论是出于家长控制,时间管理,内容过滤,甚至是安全问题。一个常见的动机是提高生产力并保持专注。通过阻止分散注意力的网站,人们可以创造一个有利于工作或学习的环境,最大限度地减少潜在的干扰。最后,内容过滤对于维护安全和尊重的在线环境非常重要。阻止包含露骨、冒犯性或令人反感内容的网站在教育或专业环境中尤其重要,在这些环境中,维护适当的标准和价值观至关重要。如果您可以与这种情况相关,那么本文适合您。下面介绍了如何在Edge中阻止对网

解决Python网站访问速度问题,使用索引、缓存等数据库优化方法在开发和维护Python网站的过程中,经常会遇到网站访问速度慢的问题。为了提高网站的响应速度,我们可以使用一些数据库优化方法,如索引和缓存。本文将介绍如何使用这些方法来解决Python网站访问速度问题,并提供相应的代码示例供参考。一、使用索引优化数据库查询索引是数据库中数据的快速查找结构,可以大

默认情况下,大多数iPhone用户在iPhone上使用Safari浏览器。他们在Safari浏览器上浏览和访问不同类型的网站。一些iPhone用户报告说,他们厌倦了在iPhone上启动Safari浏览器后在初始屏幕上看到经常访问的网站。为了更改初始屏幕的外观,您应该对其进行编辑。如果您希望从Safari浏览器中删除经常访问的网站,我们在这里提供一些简单的步骤,解释如何轻松做到这一点。如何从iPhone的Safari中删除经常访问的网站步骤1:您应该首先在iPhone上启动Safari浏览器。第2

快速解决Go语言网站访问速度问题的7种有效方法随着互联网的快速发展,网站访问速度对于用户体验至关重要。Go语言作为一种高效性能的编程语言,其在构建高并发网络应用方面有着广泛应用。然而,在实际开发中,我们可能会遇到Go语言网站访问速度慢的问题。本文将介绍7种有效方法来解决这个问题,并提供相应的代码示例。使用缓存缓存是最常见也是最有效的提升网站访问速度的方法之一

php的网站:1、Facebook,世界上最大的社交媒体平台之一;2、WordPress,开源的内容管理系统,用于快速创建和管理各种类型的网站;3、Magento,功能强大的电子商务平台,用于创建和管理在线商店;4、Joomla,流行的开源内容管理系统,用于构建各种类型的网站;5、Wikipedia,免费的在线百科全书,提供各种主题的知识和信息;6、Digg,社交新闻网站等等。
