利用XMLHTTP检测URL及探测服务器信息

本文主要介绍利用XMLHTTP的方法和属性来获取服务器信息。通过输入URL,利用VBScript代码进行检测,根据不同的状态码判断网页情况,如是否存在、访问成功、重定向等,还能获取HTTP服务器信息。此外还附ServerXMLHTTP对象方法和属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要利用了XMLHTTP的一些方法和属性来获取服务器的信息。
XMLHTTP 对象方法和对象属性附于本文后面。
关于状态码的问题,可以见我的另外一篇文档《互联网HTTP连接等出错代码大全》
http://www.youkuaiyun.com/Develop/Article/16/16477.shtm
__________________________________________________________________________

<html>
<head>
<title>利用XMLHTTP检测URL及探测服务器信息</title>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="JnKc">
<meta name="Keywords" content="">
</head>
<body>
请输入URL:<input type="text" id="jnkcInput" value="http://" size="40"><button id="chk">检测</button>
<div id="jnkc_show"></div>
<SCRIPT LANGUAGE="VBScript">
Dim i,jnkcUrl,jnkcHTML,jnkcStatus,jnkcServer
Function chk_onClick()
jnkcUrl = jnkcInput.value
Call GetDetail
i = i+1
jnkc_show.innerHTML = "<hr><pre><font color=red>" & i & "、" & jnkcUrl & "</font><br>" & jnkcStatus & "</pre>" & jnkc_show.innerHTML
End Function
Dim jnkcXMLHTTP
Sub GetDetail
 Set jnkcXMLHTTP = CreateObject("Microsoft.XMLHTTP")
  jnkcXMLHTTP.OnReadyStateChange = GetRef("GetStatus")
  jnkcXMLHTTP.Open "GET", jnkcUrl, False
  On Error Resume Next
  jnkcXMLHTTP.Send
 Set jnkcXMLHTTP = Nothing
End Sub
Sub GetStatus
 If jnkcXMLHTTP.ReadyState <> 4 Then
  Exit Sub
 End If
 If jnkcXMLHTTP.Status = 404  Then
  jnkcStatus = "该网页不存在!"
 ElseIf jnkcXMLHTTP.Status < 200 Then
  jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
 ElseIf jnkcXMLHTTP.Status < 300 Then
  jnkcStatus = "成功,该网页能访问。"
 ElseIf jnkcXMLHTTP.Status < 400 Then
  jnkcStatus = "重定向,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
 ElseIf jnkcXMLHTTP.Status < 500 Then
  jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
 ElseIf jnkcXMLHTTP.Status < 600 Then
  jnkcStatus = "服务器错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
 Else
  jnkcStatus = "域名不可用或网络连接错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
 End If
 If jnkcXMLHTTP.Status < 600 Then Call GetServer
End Sub
Sub GetServer
 jnkcServer = jnkcXMLHTTP.GetResponseHeader("Server")
 If jnkcServer <> "" Then
  jnkcStatus = jnkcStatus & "<br>HTTP服务器:" & jnkcServer
 End If
 jnkcStatus = "<b>" & jnkcStatus & "</b><br>所有反馈信息:<br>"& jnkcXMLHTTP.GetAllResponseHeaders
End Sub
</SCRIPT>
</body>
</html>

______________________________________________________________________________________

另附:

ServerXMLHTTP 对象方法

方法说明
Abort取消当前 HTTP 请求。
GetAllResponseHeaders从响应信息中检索所有的标头字段(header fields)。
GetResponseHeader从响应信息正文中获得一个 HTTP 标头值。
Open打开一个与 HTTP 服务器的连接。
SetRequestHeader设定一个请求的标头字段。
Send向 HTTP 服务器发送请求。可包含正文。


ServerXMLHTTP 对象属性

属性说明
OnReadyStateChange事件处理器参考仅用于异步操作。指定当就绪状态发生改变时(例如当数据从服务器上返回时)调用的事件处理器。
ReadyState整型说明异步操作的状态:未初始化(0),正在加载(1),已加载(2),交互(3),或者已完成(4)。
ResponseBody变量数组将响应信息正文作为数组返回。
ResponseStreamIstream将响应信息正文作为一个 ADO Stream 对象返回。
ResponseText字符串将响应信息正文作为一个文本字符串返回。
ResponseXMLXMLDocument 对象返回响应信息正文,并视为已被 MSXML XMLDOM 语法分析器分析过。
Status长型由服务器返回的 HTTP 状态码。
StatusText字符串HTTP 响应行状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值