欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>网站制作技术>>文章内容
利用XMLHTTP检测URL及探测服务器信息
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 

主要利用了XMLHTTP的一些方法和属性来获取服务器的信息。
XMLHTTP 对象方法和对象属性附于本文后面。
关于状态码的问题,可以见我的另外一篇文档《互联网HTTP连接等出错代码大全》
http://{域名已经过期}/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 变量数组 将响应信息正文作为数组返回。 ResponseStream Istream 将响应信息正文作为一个 ADO Stream 对象返回。 ResponseText 字符串 将响应信息正文作为一个文本字符串返回。 ResponseXML XMLDocument 对象 返回响应信息正文,并视为已被 MSXML XMLDOM 语法分析器分析过。 Status 长型 由服务器返回的 HTTP 状态码。 StatusText 字符串 HTTP 响应行状态。
附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步