2010-05-27 8 views
4

Vous recherchez le meilleur moyen de déterminer si un URI existe dans VB.NET sans télécharger le contenu réel. System.IO.FileExists/My.Computer.FileSystem.FileExists peut être utilisé localement pour déterminer si un fichier existe, existe-t-il un équivalent pour le Web?VB.NET Utilisez WebRequest pour vérifier si l'URI est valide

Actuellement j'utilise un HttpWebRequest pour vérifier l'existence d'URI en utilisant le ResponseStream. Cela remplit le flux si la cible existe et déclenche une exception si ce n'est pas le cas. La fonction est en cours de développement pour vérifier également les fichiers PDF (généralement 5 Mo +), les images, etc et ce sera une perte de temps/bande passante pour peupler le contenu dans un flux.

Dans le cas de "Success" (la cible existe), je ne souhaite pas télécharger le fichier ou la page, simplement pour aboutir à un booléen qui indique si quelque chose existe à la fin de cet URI.

Répondre

9

Ici, il est en VB.NET. Assurez-vous que vos adresses commencent par http: // ou 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 
+1

Note: Si vous êtes dans un environnement intranet de l'annuaire actif, vous aurez probablement besoin de cette ligne de code entre la ligne « demande Dim » et « réponse Dim »: Dim demande Comme WebRequest = WebRequest.Create (url) request.Credentials = CredentialCache.DefaultCredentials – Jeff

5
 HttpWebResponse response; 
     try 
     { 
      HttpWebRequest req;// Prepare request 
      response = req.GetResponse() as HttpWebResponse; 
     } 
     catch (WebException ex) 
     { 
      HttpWebResponse exResponse = ex.Response as HttpWebResponse; 
      response = exResponse;     
     } 

Et maintenant yo peut vérifier simplement responce.StatusCode

Questions connexes