在VB.Net中执行Webrequest时防止错误

时间:2010-12-26 15:03:07

标签: vb.net error-handling webrequest webresponse

我使用以下函数收到三个错误:

Private Sub readWebpage(ByVal url As String)
    Try
        Dim req As System.Net.WebRequest = System.Net.WebRequest.Create(url)
        Dim resp As System.Net.WebResponse = req.GetResponse
        If Not resp.ContentType.Contains("text/html") And Not resp.ContentType.Contains("application/xhtml+xml") Then Exit Sub
        Using Str As System.IO.Stream = resp.GetResponseStream
            Using srRead As System.IO.StreamReader = New System.IO.StreamReader(Str)
                parseHtml(srRead.ReadToEnd, url)
            End Using
        End Using
    Catch ex As Exception
        Debug.Print(ex.Message)
        Debug.Print(url)
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Unable to download content from: " & url)
    End Try
End Sub
  

远程服务器返回错误:   (500)内部服务器错误。

     

服务器提交了协议   违反。节= ResponseStatusLine

     

无法解析远程名称:   'dmoz.orgsearch'

我怎样才能防止这些错误?

1 个答案:

答案 0 :(得分:1)

您无法阻止远程错误。你能做到的最好就是按照现有的方式捕捉异常。

但我建议您使用不正确的网址 - dmoz.orgsearch不存在。

这应该是:http://www.dmoz.org/search?q=myquery

如果您使用的网址格式不正确,则您无能为力。