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 :

une web exception non comprise


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 94
    Par défaut une web exception non comprise
    Salut,
    J'ai developpé une application qui lance une recherche sur google et récupère les pages résultats pour les exploités.
    Mon problème est que cette application marche une fois et une autre génére une
    web exception qui dit :can't download System.Net.WebException : la connexion sous-jacente a été férmée:impossible de se connecter au serveur distant.
    Voici mon bout de code:

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim keyword As String = TextBox1.Text
    Dim webc As New System.Net.WebClient
    Dim streemr As New System.IO.StreamReader(webc.OpenRead(String.Format("http://www.google.com/search?hl=en&q={0}&btnG=Google+Search", keyword)))
    Dim pagestr As String = streemr.readtoend()
    streemr.Dispose()
    webc.Dispose()

    Dim searchresult As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(pagestr, "<font size=-1>Results <b>(.*)</b> - <b>(.*)</b> of about <b>(.*)</b> for <b>")
    Dim nbresult As String = searchresult.Groups(3).Value
    TextBox2.Text = nbresult
    End Sub
    End Class

    la ligne rouge est celle qui génère l'exception.
    Est ce que qq'un peut m'aider pour résoudre ce problème.
    Merci d'avance.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Fahmi06
    Salut,
    J'ai developpé une application qui lance une recherche sur google et récupère les pages résultats pour les exploités..
    Pas de réponse immédiat, mais pourquoi utiliser un appel synchone dans ce genre de truc ?
    Je n'aurais absolument pas codé cela de cette façon.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 94
    Par défaut
    Salut,
    Bon si vous avez une autre solution ça serai trés bien mais ça risqu'aussi de générer la meme exception sauf si vous me garantie le contraire.

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Fahmi06
    Salut,
    Bon si vous avez une autre solution ça serai trés bien mais ça risqu'aussi de générer la meme exception sauf si vous me garantie le contraire.
    Une question : avez vous un proxy derriére ?
    Si c'est le cas, n'oubliez pas que le composant WebClient ne prend pas les params par défaut de votre browser relativement à la connexion.

    Essayez avec site dans votre réseau local pour voir.

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 94
    Par défaut
    Premièrement,je travaille sur ma poste et je n'utilise pas de proxy.

    Deuxièment,je ne comprend pas comment je teste sur un site du réseau local.
    Tout ce que je sait est que l'adresse du réseau local de mon pc est 127.0.0.1

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Fahmi06
    Premièrement,je travaille sur ma poste et je n'utilise pas de proxy.

    Deuxièment,je ne comprend pas comment je teste sur un site du réseau local.
    Tout ce que je sait est que l'adresse du réseau local de mon pc est 127.0.0.1
    Oui, 127.0.0.1 c'est l'adresse IP de bouclage local.
    Donc le proxy n'est pas la bonne explication.
    Je cherche si je trouve quelque chose (j'ai un très lourd traitement en cours, donc j'ai un peu de temps )

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Essayer avec l'adresse directe de google, 209.85.129.147.
    Je soupçonne le composant de ne pas gérer proprement les résolutions Dns. (pourquoi ? je n'en sais rien ....)
    Je viens de vérifier, il fait aussi lui fournir le proxy si on en a un, sinon il envoie une exception concernant le proxy.

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Confirmation, ça marche quand on met l'adresse directe.
    Visiblement, il a un probléme avec le DNS.

  9. #9
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 94
    Par défaut
    je doit vous informer que suis presque nul dans tout ce qu'est réseau.
    Si tu peux m'aider à comprendre je vous remercie.

  10. #10
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Fahmi06
    je doit vous informer que suis presque nul dans tout ce qu'est réseau.
    Si tu peux m'aider à comprendre je vous remercie.
    Bon, je viens de faire un bout de code qui marche avec un proxy.
    (c'est en C#, j'avais la flemme d'ouvrir un projet en VB.Net)

    Comme tu n'as pas de proxy, tu t'en tamponne, mais essaye cette histoire de remplacer "www.google.com" par l'adresse que j'ai mis supra dans ta chaine.

    Sinon, le code qui connecte bien (avec proxy) c'est celui là :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
        class WebConnectViaProxy
        {
     
            private class MyProxy : IWebProxy
            {
                private NetworkCredential networkCredential = new NetworkCredential("User", "MotDePasse");
                #region IWebProxy Members
     
                public ICredentials Credentials
                {
                    get
                    {
                        return networkCredential;
     
                    }
                    set
                    {
                        networkCredential = value as NetworkCredential;
                    }
                }
     
                public Uri GetProxy(Uri destination)
                {
                    return new Uri("http://MonProxyUrl");
                }
     
                public bool IsBypassed(Uri host)
                {
                    return false;
                }
     
                #endregion
            }
            public  void connectWebSite(string url)
            {
                System.Net.WebClient webc;
                String pagestr;
     
                webc = new System.Net.WebClient();
                webc.Proxy = (IWebProxy)new MyProxy();
                Stream retWeb = webc.OpenRead(url);
                System.IO.StreamReader streemr = new System.IO.StreamReader(retWeb);
                pagestr = streemr.ReadToEnd();
                streemr.Close();
            }
     
        }

  11. #11
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 94
    Par défaut
    Une petite question bette:à quoi sert exactement le proxy parce que mes connaissances sont limitée pour son fonctionnement.

Discussions similaires

  1. A l'aide :? Une exception non gérée SQL Server..
    Par bluerequin dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/12/2010, 19h31
  2. Réponses: 2
    Dernier message: 25/07/2010, 15h32
  3. exception non levée malgré throw dans une boucle for
    Par marion5515 dans le forum Langage
    Réponses: 12
    Dernier message: 14/05/2009, 17h53
  4. Réponses: 4
    Dernier message: 14/02/2005, 19h41

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