【问题标题】:VB.NET Use WebRequest to check if URI is validVB.NET 使用 WebRequest 检查 URI 是否有效
【发布时间】:2011-02-24 22:10:37
【问题描述】:

寻找在不下载实际内容的情况下确定 VB.NET 中是否存在 URI 的最佳方法。 System.IO.FileExists/My.Computer.FileSystem.FileExists 可以在本地用来判断文件是否存在,有没有等价于Web的?

目前我使用HttpWebRequest 来检查使用ResponseStream 的URI 存在。如果目标确实存在,这将填充流,如果不存在则抛出异常。该功能正在扩展以检查 PDF 文件(通常为 5MB 以上)、图像等,将内容实际填充到流中将是浪费时间/带宽。

在“成功”(目标确实存在)的情况下,我不希望下载文件或页面,只是以一个布尔值结束,它指示此 URI 末尾是否存在某些东西。

【问题讨论】:

    标签: vb.net httpwebresponse


    【解决方案1】:

    它在 VB.NET 中。确保您的地址以 http://https:// 开头。

    Public Function CheckAddress(ByVal URL As String) As Boolean
        Try
            Dim request As WebRequest = WebRequest.Create(URL)
            Dim response As WebResponse = request.GetResponse()
        Catch ex As Exception
            Return False
        End Try
        Return True
    End Function
    

    【讨论】:

    • 注意:如果您处于活动目录 Intranet 环境中,您可能需要在“Dim request”和“Dim response”行之间的这行代码:Dim request As WebRequest = WebRequest.Create( url) request.Credentials = CredentialCache.DefaultCredentials
    【解决方案2】:
            HttpWebResponse response;
            try
            {
                HttpWebRequest req;// Prepare request
                response = req.GetResponse() as HttpWebResponse;
            }
            catch (WebException ex)
            {
                HttpWebResponse exResponse = ex.Response as HttpWebResponse;
                response = exResponse;                
            }
    

    现在你可以查看responce.StatusCode

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 2015-03-31
      相关资源
      最近更新 更多