[.net2] tester la connection à internet (autre méthode par httpwebrequest)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 291 fois - Téléchargée 29 fois

Contenu du snippet

Bon d'accord il existe déjà ce genre de sources sur le site.
Mais je viens proproper une "autre méthode" que je n'ai pas trouvé sur le site pour tester la connection à Internet en utilisant la classe HttpWebRequest.

Ce n'est pas la source du siècle quelques lignes mais simple à comprendre.

Utilisation:

If TestInternetConnection then
'Connecté à Internet
Else
'Non connecté
End If

Source / Exemple :


Imports System.Net

Function TestInternetConnection() As Boolean

    Dim IsOK As Boolean

    Try

        Dim ReqHttp As HttpWebRequest = WebRequest.Create("http://www.vbfrance.com")

        'Envois de la requete et attente d'une réponse
        Dim ReponseReq As HttpWebResponse = CType(ReqHttp.GetResponse, HttpWebResponse)

        'Si la réponse est ok on retourne Vrai
        If ReponseReq.StatusCode = HttpStatusCode.OK Then
            IsOK = True
        Else
            IsOK = False
        End If

        ReponseReq.Close()

    Catch ex As Exception
        IsOK = False
    End Try

    Return IsOK

End Function

A voir également

Ajouter un commentaire

Commentaires

Mayman360
Messages postés
1
Date d'inscription
lundi 25 août 2008
Statut
Membre
Dernière intervention
5 mars 2011
-
Bon, je viens de passer au travers tous les commentaires et entrepris une recherche! Voilà donc ce que j'ai trouvé et je dois dire que ça reviens pas mal à la solution offerte au début de la discussion :

''' <summary>
''' Function using WebRequest and WebResponse to check
''' for an internet connection
''' </summary>
''' URL we wish to check (make sure to use one that
''' is online all the time, such as Google or Microsoft.com

''' <returns></returns>
''' <remarks></remarks>

Public Function HasInternetConnection(ByRef url As String) As Boolean
Dim uri As New System.Uri(url)
'Create a new WebRequest
Dim request As WebRequest = WebRequest.Create(uri)
'Create new WebResponse for checking the response
'from our WebRequest
Dim response As WebResponse
Try
'If we get a response then we are successful
response = request.GetResponse()

'Close and dispose
response.Close()
request = Nothing

response.Close()
request = Nothing

'Return true and a connection was made
Return True
Catch ex As Exception
'Whoops, got an error so no connection is present
Return False
End Try
End Function
hsaturn
Messages postés
14
Date d'inscription
jeudi 6 octobre 2005
Statut
Membre
Dernière intervention
3 juin 2007
-
En fait, je me demande carrément si c'est possible de tester une connexion internet avec 100% de fiabilité.

Un exemple simple : si la connexion passe par un proxy/firewall, le ping peut être tout simplement bloqué.

Pire encore, imaginons deux utilisateurs humains, qui doivent répondre à cette question en face d'un PC.
L'un deux n'utilise que Firefox, l'autre n'utilise Que Internet Explorer....

Seul Firefox est configuré pour accéder à internet via proxy.

Devinez quelle sera la réponse des deux utilisateurs à la question <<cet ordinateur est-il connecté ?>>

Je pense donc que cette réponse est définitive :

A MON SENS, IL EST IMPOSSIBLE DE SAVOIR SI ON EST CONNECTE A INTERNET !!!

Tout simplement. En effet, aucun bout de code au monde ne pourra connaître mon login/mot de passe pour passer le proxy !!!!

C'est bien pour ca que les fonctions de micromou n'étaient pas fiables et qu'aucun bout de code ne sera jamais fiable.

Ajoutons à cela la très bonne intervention de PCPT : Quid des popups de connexion à internet ?

Qu'en pensez vous ?
marco62118
Messages postés
35
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
25 juin 2015
-
bonjour à tous
brunews est il possible d'avoir la source de ta dll si elle esten vb?
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7 -
Bonjour à tous,

Pour info, depuis la DLL de BruNews est à l'adresse :
http://brunews.com/brunews/download/IsWeb.zip

Amicalement,
Us.
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
NIET, je ne fais aucune requête HTTP pas plus que de PING et ma dll fonctionne.
Un simple connect() sur un socket suffit amplement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.