CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

郁闷了一天:如何将这段javascript代码改写成vb.net代码.

楼主wqdzgh(红螃蟹)2005-06-02 17:35:48 在 .NET技术 / VB.NET 提问

想把下面的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> 问题点数:20、回复次数:7Top

1 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2005-06-02 20:12:54 得分 0

不好意思,我没看到jsTop

2 楼wqdzgh(红螃蟹)回复于 2005-06-02 20:46:04 得分 0

汗,是vbsTop

3 楼rzpc(淡蓝色)回复于 2005-06-02 21:37:57 得分 0

虽然是VBS,不过   要把这段代码移植到VB.net   Windows   Form上,好有一比呀:  
   
  ---------   好比把猪肝安到鱼肚子里啊!Top

4 楼redmoonmoon(阿卓)回复于 2005-06-02 21:58:40 得分 0

呵呵,用System.Web.HttpResponse.Write方法吧,多简单Top

5 楼net_lover(【孟子E章】)回复于 2005-06-02 21:59:13 得分 0

http://dotnet.aspx.cc/ShowDetail.aspx?id=4AE836F8-CCB4-4BEF-90B1-25BB1A5E6433Top

6 楼rzpc(淡蓝色)回复于 2005-06-02 22:37:42 得分 20

给你来一段:  
   
  注意:首先引用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   =   "由于服务器上的冲突而未能执行请求。"  
                          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   =   "请求的资源上不允许请求方法(POST   或   GET)。"  
                          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   =   "请求是不支持的类型。"  
                          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   FunctionTop

7 楼wqdzgh(红螃蟹)回复于 2005-06-03 07:34:29 得分 0

to   :rzpc(淡蓝色)    
  非常感谢,这正是我想要的.Top

相关问题

  • 把C#代码改写为VB代码的问题(关于OnInit的).
  • 请问这段C#代码怎样改写成VB的? ( ...?...: )
  • 请帮忙改写为VB代码,谢谢!!!!!
  • 一段用VB写的加密的代码,谁能帮我用C#改写?
  • 能将服务器端vb代码中的变量传到javascript 代码中吗?
  • 高手帮忙:将这段代码改写成VB的,分不够再加,谢谢!
  • 高手帮忙:将这段代码改写成VB的,分不够再加,谢谢!
  • 求javascript代码!
  • eWebEditor中一代码改写成c#
  • VBScript改写成JavaScript

关键词

  • vb.net
  • 代码

得分解答快速导航

  • 帖主:wqdzgh
  • rzpc

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo