Prévention des erreurs lorsque vous faites un webRequest en VB.Net
-
13-10-2019 - |
Question
Je reçois trois erreurs en utilisant la fonction suivante:
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
Le serveur distant a renvoyé une erreur: (500) Erreur interne du serveur.
Le serveur a commis un protocole violation. Section = ResponseStatusLine
Le nom distant n'a pas pu être résolu: 'Dmoz.orgsearch'
Comment pourrais-je être en mesure d'éviter ces erreurs?
La solution
Vous ne pouvez pas éviter les erreurs à distance. Le mieux que vous pouvez obtenir est attraper les exceptions comme vous êtes déjà.
Je suggère cependant que vous utilisez une URL incorrecte -. dmoz.orgsearch
n'existe pas
Était-ce censé être: http://www.dmoz.org/search?q=myquery
Si l'URL que vous utilisez est malformé, il n'y a pas grand-chose que vous pouvez faire à ce sujet.