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

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

以下是全部源代码:

 1<html>
 2<head>
 3<title>利用XMLHTTP检测网址及探测服务器类型</title>
 4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 5<meta content="EditPlus" name="Generator"/>
 6<meta content="JnKc" name="Author"/>
 7<meta content="" name="Keywords"/>
 8</head>
 9<body>
10<input id="jnkcInput" size="50" type="text" value="http://www.csdn.net"/><button id="chk">检测</button>
11<div id="jnkc_show"></div>
12<script language="VBScript">   
13Dim i,jnkcUrl,jnkcHTML,jnkcStatus,jnkcServer   
14Function chk_onClick()   
15jnkcUrl = jnkcInput.value   
16Call GetDetail   
17i = i+1   
18jnkc_show.innerHTML = "<hr><pre><font color=red>" & i & "、" & jnkcUrl & "</font><br>" & jnkcStatus & "</pre>" & jnkc_show.innerHTML   
19End Function   
20Dim jnkcXMLHTTP   
21Sub GetDetail   
22Set jnkcXMLHTTP = CreateObject("Microsoft.XMLHTTP")   
23jnkcXMLHTTP.OnReadyStateChange = GetRef("GetStatus")   
24jnkcXMLHTTP.Open "GET", jnkcUrl, False   
25On Error Resume Next   
26jnkcXMLHTTP.Send   
27Set jnkcXMLHTTP = Nothing   
28End Sub   
29Sub GetStatus   
30If jnkcXMLHTTP.ReadyState <> 4 Then   
31Exit Sub   
32End If   
33If jnkcXMLHTTP.Status = 404 Then   
34jnkcStatus = "该网页不存在!"   
35ElseIf jnkcXMLHTTP.Status < 200 Then   
36jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText   
37ElseIf jnkcXMLHTTP.Status < 300 Then   
38jnkcStatus = "成功,该网页能访问。"   
39ElseIf jnkcXMLHTTP.Status < 400 Then   
40jnkcStatus = "重定向,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText   
41ElseIf jnkcXMLHTTP.Status < 500 Then   
42jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText   
43ElseIf jnkcXMLHTTP.Status < 600 Then   
44jnkcStatus = "服务器错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText   
45Else   
46jnkcStatus = "域名不可用或网络连接错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText   
47End If   
48If jnkcXMLHTTP.Status < 600 Then Call GetServer   
49End Sub   
50Sub GetServer   
51jnkcServer = jnkcXMLHTTP.GetResponseHeader("Server")   
52If jnkcServer <> "" Then   
53jnkcStatus = jnkcStatus & "<br>HTTP服务器:" & jnkcServer   
54End If   
55jnkcStatus = "<b>" & jnkcStatus & "</b><br>所有反馈信息:<br>"& jnkcXMLHTTP.GetAllResponseHeaders   
56End Sub   
57</script>
58</body>
59</html>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus