IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Comment tester l'accès à un site HTTP


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut Comment tester l'accès à un site HTTP
    Bonjour le Forum,

    Je cherche une solution qui me permette de tester l'accès à un site HTTP "INTRANET" , si le site est accessible je ferais apparaitre un point vert et s'il est inaccessible un point rouge.

    Merci pour votre aide.

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonsoir

    Je ne peux tester là tout de suite mais peut-être tu le peux :
    En plaçant un WebBrowser (éventuellement invisible) sur le Form et lui donnant l'URL du site cherché, que se passe-t-il quand le WebBrowser n'obtient pas de réponse ou une erreur 404 ?

    Dis-moi...

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut
    Bonjour Phil Rob,

    J'obtiens le message navigation vers la page Web annulée.

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Le WebBrowser n'était pas la bonne idée.

    Voici une solution qui fonctionne, avec un Form contenant seulement un bouton, j'ai placé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Dim UneURL As String = "https://www.BIDONgoogle.com/"
     
            Dim WRQ As System.Net.WebRequest = System.Net.WebRequest.Create(UneURL)
            Dim AccesWEB As Boolean
            Try
                WRQ.GetResponse()
                AccesWEB = True
            Catch
                AccesWEB = False
            End Try
     
            If AccesWEB Then
                MessageBox.Show("Site accessible")
            Else
                MessageBox.Show("Site non accessible")
            End If
     
        End Sub
    J'obtiens le message approprié selon que j'envoie l'URL www.BIDONgoogle.com/ ou l'URL www.google.com/.

    ...

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Pas besoin de la grosse machinerie.
    Un simple GET suffit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        Function CheckAccessToUrl(ByVal Url As String) As Boolean
            Dim result As Boolean
            Dim request As HttpWebRequest
            Dim response As HttpWebResponse
     
            request = CType(WebRequest.Create(Url), HttpWebRequest)
            Try
                response = CType(request.GetResponse(), HttpWebResponse)
                result = (response.StatusCode = HttpStatusCode.OK)
                response.Close()
            Catch ex As Exception
                result = False
            End Try
     
            Return result
        End Function
    Edit :
    Devancé par Phil Rob.
    Je suggère toutefois d'utiliser ma méthode qui est plus souple, qui libère les ressources utilisées et qui surtout tient compte du retour.
    En effet, un site peux répondre mais renvoyer 401, 403, 503, etc. et du coup, tu n'y a pas accès.

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut
    Merci à vous 2 pour vos réponses,

    Je n'arrive à faire fonctionner que la solution de Phil Rob, mais j'ai l'image qui clignote " si accès valide un point vert apparait, sinon point rouge", je suis sous un Timer "qui est lui même dans un Tread", il interroge le site Intranet toute les 1.5 secondes , si l'accès est valide un point vert apparait, sinon point rouge.

    Pour la solution de popo, je mets l'adresse sous la variable Url
    Dim Url As String = "https://www.BIDONgoogle.com/",
    j'ai une erreur argument non spécifié pour le paramètre Url qui apparait lorsque je fais appel à la fonction CheckAccessToUrl()

  7. #7
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Juste une "bête" question :

    Après Dim Url As String = "https://www.BIDONgoogle.com/", lorsque tu appelles la fonction de Popo, tu n'oublies pas de lui passer la variable Url ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut
    Non.... je n'avais pas ajouter Url.

    Merci c'est une remarque utile

    Sinon, que dois-je modifier dans le code de popo pour arriver à ce résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     If AccesWEB Then
                  PictureBox3.Image = My.Resources.Vert
             else
                PictureBox3.Image = My.Resources.Rouge
            End If

  9. #9
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Ce n'est pas pour rien que ma fonction renvoie un booléen.
    Donc tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If CheckAccessToUrl(Url) Then
                  PictureBox3.Image = My.Resources.Vert
             else
                PictureBox3.Image = My.Resources.Rouge
            End If

  10. #10
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 141
    Par défaut
    Effectivement, le renvoi de la valeur booléen fonctionne parfaitement, un grand merci à vous deux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accès à un site en https
    Par sosophie dans le forum Apache
    Réponses: 7
    Dernier message: 09/03/2012, 22h43
  2. Accès aux sites https://subdomain.java.net impossible
    Par hugo123 dans le forum Général Java
    Réponses: 14
    Dernier message: 22/10/2009, 15h42
  3. Accès à un site avec http://monsite:443
    Par fantomchris dans le forum Apache
    Réponses: 6
    Dernier message: 15/06/2009, 11h13
  4. Réponses: 7
    Dernier message: 19/09/2004, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo