Ïë°ÑÏÂÃæµÄjavascriptд³Évb.net´úÂëÒÔ±ãÔÚ´°Ìå³ÌÐòÖÐÔËÐÐ.
<html>
<head>
<title>ÀûÓÃXMLHTTP¼ì²âÍøÖ·¼°Ì½²â·þÎñÆ÷ÀàÐÍ</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Generator" content="Microsoft FrontPage 6.0">
<meta name="Author" content="JnKc">
<meta name="Keywords" content>
</head>
<body>
<input type="text" id="jnkcInput" value="http://www.csdn.net" size="50">
<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>
¸øÄãÀ´Ò»¶Î:
×¢Òâ:Ê×ÏÈÒýÓÃSystem.NetÃüÃû¿Õ¼ä
Private Function GetURLState(strURL As String)
Dim strReturn As String
Dim objRequest As HttpWebRequest
Dim objResponse As HttpWebResponse
Try
objRequest = CType(HttpWebRequest.Create(strURL), HttpWebRequest)
objRequest.AllowAutoRedirect = False
objResponse = CType(objRequest.GetResponse(), HttpWebResponse)
Select Case objResponse.StatusCode
Case HttpStatusCode.Accepted
strReturn = "ָʾÇëÇóÒѱ»½ÓÊÜ×ö½øÒ»²½´¦Àí¡£"
Case HttpStatusCode.Ambiguous
strReturn = "ÖØ¶¨Ïò"
Case HttpStatusCode.BadGateway
strReturn = "ʾÖмä´úÀí·þÎñÆ÷´ÓÁíÒ»´úÀí»òÔʼ·þÎñÆ÷½ÓÊÕµ½´íÎóÏìÓ¦¡£"
Case HttpStatusCode.BadRequest
strReturn = "·þÎñÆ÷δÄÜʶ±ðÇëÇó¡£"
Case HttpStatusCode.Conflict
strReturn = "ÓÉÓÚ·þÎñÆ÷ÉϵijåÍ»¶øÎ´ÄÜÖ´ÐÐÇëÇó¡£"
Case HttpStatusCode.Continue
strReturn = "¿Í»§¶Ë¿ÉÄܼÌÐøÆäÇëÇó¡£"
Case HttpStatusCode.Created
strReturn = "ÇëÇóµ¼ÖÂÔÚÏìÓ¦±»·¢ËÍǰ´´½¨ÐÂ×ÊÔ´¡£"
Case HttpStatusCode.ExpectationFailed
strReturn = "·þÎñÆ÷δÄÜ·ûºÏ Expect Í·Öиø¶¨µÄÔ¤ÆÚÖµ¡£"
Case HttpStatusCode.Forbidden
strReturn = "·þÎñÆ÷¾Ü¾øÂú×ãÇëÇó¡£"
Case HttpStatusCode.Found
strReturn = "ÇóµÄÐÅϢλÓÚ Location Í·ÖÐÖ¸¶¨µÄ URI ´¦¡£½ÓÊÕµ½´Ë״̬ʱµÄĬÈϲÙ×÷Ϊ×ñÑÓëÏìÓ¦¹ØÁªµÄ Location Í·¡£"
Case HttpStatusCode.GatewayTimeout
strReturn = "Öмä´úÀí·þÎñÆ÷ÔڵȴýÀ´×ÔÁíÒ»¸ö´úÀí»òÔʼ·þÎñÆ÷µÄÏìӦʱÒѳ¬Ê±¡£"
Case HttpStatusCode.Gone
strReturn = "ÇëÇóµÄ×ÊÔ´ÒѲ»ÔÙ¿ÉÓá£"
Case HttpStatusCode.HttpVersionNotSupported
strReturn = "·þÎñÆ÷²»Ö§³ÖÇëÇóµÄ HTTP °æ±¾¡£"
Case HttpStatusCode.InternalServerError
strReturn = "·þÎñÆ÷ÉÏ·¢ÉúÁËÒ»°ã´íÎó¡£"
Case HttpStatusCode.LengthRequired
strReturn = "ȱÉÙ±ØÐèµÄ Content-length Í·¡£"
Case HttpStatusCode.MethodNotAllowed
strReturn = "ÇëÇóµÄ×ÊÔ´Éϲ»ÔÊÐíÇëÇó·½·¨¡£"
Case HttpStatusCode.Moved
strReturn = "ÇóµÄÐÅÏ¢ÒÑÒÆµ½ Location Í·ÖÐÖ¸¶¨µÄ URI ´¦¡£"
Case HttpStatusCode.MovedPermanently
strReturn = "ÇëÇóµÄÐÅÏ¢ÒÑÒÆµ½ Location Í·ÖÐÖ¸¶¨µÄ URI ´¦¡£"
Case HttpStatusCode.MultipleChoices
strReturn = "ÇëÇóµÄÐÅÏ¢ÓжàÖÖ±íʾÐÎʽ¡£"
Case HttpStatusCode.NoContent
strReturn = "Òѳɹ¦´¦ÀíÇëÇó²¢ÇÒÏìÓ¦Òѱ»É趨ΪÎÞÄÚÈÝ¡£"
Case HttpStatusCode.NonAuthoritativeInformation
strReturn = "·µ»ØµÄÔªÐÅÏ¢À´×Ô»º´æ¸±±¾¶ø²»ÊÇÔʼ·þÎñÆ÷£¬Òò´Ë¿ÉÄܲ»ÕýÈ·¡£"
Case HttpStatusCode.NotAcceptable
strReturn = "¿Í»§¶ËÒÑÓà Accept ͷָʾ½«²»½ÓÊÜ×ÊÔ´µÄÈκοÉÓñíʾÐÎʽ¡£"
Case HttpStatusCode.NotFound
strReturn = "ÇëÇóµÄ×ÊÔ´²»ÔÚ·þÎñÆ÷ÉÏ¡£"
Case HttpStatusCode.NotImplemented
strReturn = "·þÎñÆ÷²»Ö§³ÖÇëÇóµÄº¯Êý¡£"
Case HttpStatusCode.NotModified
strReturn = "¿Í»§¶ËµÄ»º´æ¸±±¾ÊÇ×îеġ£"
Case HttpStatusCode.OK
strReturn = "Çó³É¹¦£¬ÇÒÇëÇóµÄÐÅÏ¢°üº¬ÔÚÏìÓ¦ÖС£"
Case HttpStatusCode.PartialContent
strReturn = "ÏìÓ¦ÊǰüÀ¨×Ö½Ú·¶Î§µÄ GET ÇëÇóËùÇëÇóµÄ²¿·ÖÏìÓ¦¡£"
Case HttpStatusCode.PaymentRequired
strReturn = "±£Áô PaymentRequired ÒÔ¹©½«À´Ê¹Óá£"
Case HttpStatusCode.PreconditionFailed
strReturn = "Ϊ´ËÇëÇóÉèÖõÄÌõ¼þʧ°Ü£¬ÇÒÎÞ·¨Ö´ÐдËÇëÇó¡£"
Case HttpStatusCode.ProxyAuthenticationRequired
strReturn = "ÇëÇóµÄ´úÀíÒªÇóÉí·ÝÑéÖ¤¡£"
Case HttpStatusCode.Redirect
strReturn = "ÇëÇóµÄÐÅϢλÓÚ Location Í·ÖÐÖ¸¶¨µÄ URI ´¦¡£"
Case HttpStatusCode.RedirectKeepVerb
strReturn = "ÇëÇóÐÅϢλÓÚ Location Í·ÖÐÖ¸¶¨µÄ URI ´¦¡£"
Case HttpStatusCode.RedirectMethod
strReturn = "µÈЧÓÚ HTTP ״̬ 303¡£"
Case HttpStatusCode.RequestedRangeNotSatisfiable
strReturn = "ÎÞ·¨·µ»Ø´Ó×ÊÔ´ÇëÇóµÄÊý¾Ý·¶Î§£¬ÒòΪ·¶Î§µÄ¿ªÍ·ÔÚ×ÊÔ´µÄ¿ªÍ·Ö®Ç°£¬»òÒòΪ·¶Î§µÄ½áβÔÚ×ÊÔ´µÄ½áβ֮ºó¡£"
Case HttpStatusCode.RequestEntityTooLarge
strReturn = "ÇëÇóÌ«´ó£¬·þÎñÆ÷ÎÞ·¨´¦Àí¡£"
Case HttpStatusCode.RequestTimeout
strReturn = "¿Í»§¶ËûÓÐÔÚ·þÎñÆ÷ÆÚÍûÇëÇóµÄʱ¼äÄÚ·¢ËÍÇëÇó¡£"
Case HttpStatusCode.RequestUriTooLong
strReturn = "URI Ì«³¤¡£"
Case HttpStatusCode.ResetContent
strReturn = "¿Í»§¶ËÓ¦ÖØÖõ±Ç°×ÊÔ´¡£"
Case HttpStatusCode.SeeOther
strReturn = "µÈЧÓÚ HTTP ״̬ 303¡£"
Case HttpStatusCode.ServiceUnavailable
strReturn = "·þÎñÆ÷ÔÝʱ²»¿ÉÓã¬Í¨³£ÊÇÓÉÓÚ¹ý¶à¼ÓÔØ»òά»¤¡£"
Case HttpStatusCode.SwitchingProtocols
strReturn = "ÕýÔÚ¸ü¸ÄÐÒé°æ±¾»òÐÒé¡£"
Case HttpStatusCode.TemporaryRedirect
strReturn = "ÇëÇóÐÅϢλÓÚ Location Í·ÖÐÖ¸¶¨µÄ URI ´¦¡£"
Case HttpStatusCode.Unauthorized
strReturn = "ÇëÇóµÄ×ÊÔ´ÒªÇóÉí·ÝÑéÖ¤¡£"
Case HttpStatusCode.UnsupportedMediaType
strReturn = "ÇëÇóÊDz»Ö§³ÖµÄÀàÐÍ¡£"
Case HttpStatusCode.Unused
strReturn = "δÍêȫָ¶¨µÄ HTTP/1.1 ¹æ·¶µÄ½¨ÒéÀ©Õ¹¡£"
Case HttpStatusCode.UseProxy
strReturn = "ÇëÇóӦʹÓÃλÓÚ Location Í·ÖÐÖ¸¶¨µÄ URI µÄ´úÀí·þÎñÆ÷¡£"
Case Else
strReturn = "δ֪״̬"
End Select
Catch ex As System.UriFormatException
strReturn = "ÎÞЧµÄURL"
Catch ex As Exception
strReturn = "δ֪´íÎó:" & ex.Message
Finally
If Not objResponse Is Nothing Then objResponse.Close()
End Try
Return strReturn
End Function