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

王朝html/css/js·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

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

利用XMLHTTP检测URL及探测服务器信息 主要利用了XMLHTTP的一些方法和属性来获取服务器的信息。

XMLHTTP 对象方法和对象属性附于本文后面。

关于状态码的问题,可以见我的另外一篇文档《互联网HTTP连接等出错代码大全》

http://www.csdn.net/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 响应行状态。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航