热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

应用xmlhttp为网站增加域名查询功效

当我们准备建立一个Web站点时,就必需向域名登记机构申请一个Internet域名,因此,我们通常盼看懂得自己准备应用的域名是否已经被注册,这时,可以拜访NIC站点http://www.nic.net,点击

当我们准备建立一个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上运行通过。实际应用过程中,可以把上述代码拷贝到自己网页中,经过简略的页面编纂,就可在自己的网页中增加在页面无刷新情况下的域名查询功效了,初看上往,还真的有点象专业的域名注册服务商网站供给的服务了。




推荐阅读
  • 通过命令行工具 `virt-install` 配置和安装虚拟机环境。`virt-install` 是一个基于 `libvirt` 虚拟化管理库的命令行工具,用于创建新的虚拟机实例。该工具支持通过串行控制台和 SDL 图形界面进行虚拟机的安装和管理,适用于多种操作系统和虚拟化平台。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 内网渗透技术详解:PTH、PTT与PTK在域控环境中的应用及猫盘内网穿透配置
    本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 可转债数据智能抓取与分析平台优化
    本项目旨在优化可转债数据的智能抓取与分析平台。通过爬取集思录上的可转债信息(排除已发布赎回的债券),并结合安道全教授提出的三条安全线投资策略,新增了建仓线、加仓线和重仓线,以提供更精准的投资建议。 ... [详细]
  • Cookie是一种小型数据文件,由Web服务器生成并存储在用户的浏览器中。当用户再次访问同一服务器时,这些数据可以被重新读取,为用户提供个性化的体验。Cookie在软件测试中具有重要作用,能够帮助测试人员验证会话管理、用户偏好设置等功能的正确性和安全性。通过深入解析Cookie的工作原理及其在不同场景下的应用,本文旨在为软件测试人员提供全面的技术指导。 ... [详细]
  • 在探索 Unity Shaders 的过程中,我逐渐意识到掌握 OpenGL 基础知识的重要性。本文将详细介绍 OpenGL 的核心概念和基本操作,帮助读者从零开始理解这一图形编程技术。通过实例和代码解析,我们将深入探讨如何利用 OpenGL 创建高效的图形应用。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • 解决MacBook安装Windows时“无法将支持软件保存至选定驱动器”的替代方法
    在解决MacBook安装Windows过程中遇到的“无法将支持软件保存至选定驱动器”问题时,许多用户反映现有方案过于复杂。本文提出了一种更为简便的替代方法,通过优化下载路径和驱动器选择,有效解决了这一常见难题。此外,我们还提供了详细的步骤说明和注意事项,帮助用户顺利完成Windows系统的安装。 ... [详细]
author-avatar
萝莉控的许123321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有