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 :

soucis de recuperation de donnée [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut soucis de recuperation de donnée
    Bonjour,
    voila je cherche a parser un site multi langue mais qd je lance le programme il me recupere les donner qu'en francais alors que je lui envoie l 'url du site en anglais
    dans le site il faut clicker sur l'onglet "anglais" pour qu'il le garde en memoire quand on retourne sur le site mais j'arrive pas a le faire via vb
    j'utilise htmlagilitypack pour parser le site
    mon code de base pour lire l'url:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim url as string = "url"
    dim web as new htmlweb
    dim doc = web.load(url)

    merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    A priori il doit y avoir un cookie qui indique la langue. Regarde dans ton navigateur les cookies associés à ce site, et quand tu as trouvé celui qui correspond à la langue, envoie le avec ta requête (par contre je crois pas que HtmlWeb permette de le faire, utilise plutôt HttpWebRequest)

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    merci pour ta reponse tomlev je vais chercher ca
    par contre comment on fait pour envoyer le cookie avec la requete?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu peux faire quelque chose comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim url as string = "url"
    dim web as new htmlweb
    Dim cookies = New CookieContainer()
    cookies.Add(new Cookie("nom", "valeur"))
    web.PreRequest = Function(req) _
            req.CookieContainer = cookies
            Return True
        End Sub
    dim doc = web.load(url)
    (pas testé)

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    ca fait pas mal d 'erreur dont une c'est le end sub
    du coup j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     If web.PreRequest = Function(req) _
                req.CookieContainer Is cookies Then
                Return True
            End If
    il me dit que l'instruction 'return' dans un sub ou un set ne peut pas retourner de valeur

    et pour le nom "nom" et "valeur" c'est le nom du cookie et le lien dans mon ordi?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par cha23 Voir le message
    ca fait pas mal d 'erreur dont une c'est le end sub
    du coup j'ai fait
    Ouais, j'ai un peu de mal avec la syntaxe VB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim url as string = "url"
    dim web as new htmlweb
    Dim cookies = New CookieContainer()
    cookies.Add(new Cookie("nom", "valeur"))
    web.PreRequest = Function(req)
            req.CookieContainer = cookies
            Return True
        End Function
    dim doc = web.load(url)
    Citation Envoyé par cha23 Voir le message
    et pour le nom "nom" et "valeur" c'est le nom du cookie et le lien dans mon ordi?
    c'est le nom du cookie et sa valeur... je sais pas ce que tu appelles le "lien dans ton ordi"

  7. #7
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    en fait je pensais que j avais le cookies en question mais c t pas le cas
    en fait dans mon Windows 7 je n'ai pas accès a mes cookies même si j affiche les fichiers caché

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par cha23 Voir le message
    comment je connais en fait la valeur du cookie?
    Bah je te l'ai dit, tu regardes dans ton navigateur (dans Firefox : clic sur le bouton à gauche de la barre d'adresse, "Plus d'informations", "Voir les cookies")

  9. #9
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    c'est bon j'ai trouvé par contre ca me fait toujours l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.CookieContainer = cookies
    Erreur 1 L'opérateur '=' n'est pas défini pour les types 'System.Net.CookieContainer' et 'System.Net.CookieContainer'.

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par cha23 Voir le message
    c'est bon j'ai trouvé par contre ca me fait toujours l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.CookieContainer = cookies
    Erreur 1 L'opérateur '=' n'est pas défini pour les types 'System.Net.CookieContainer' et 'System.Net.CookieContainer'.
    Euh... bizarre, chez moi ça compile. Quelle version de Visual Studio utilises-tu ? La syntaxe que j'ai utilisée ne fonctionne qu'à partir de VB 10 (VS 2010 / .NET 4)

  11. #11
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    c'est bon en fait j'avais mal copié

    maintenant ca me dit quand je compile et ce avec n 'importe quel cookie du site
    Le paramètre '{0}' ne peut pas être une chaîne vide.
    Nom du paramètre : cookie.Domain
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cookies.Add(New Cookie("mvthistory", "48.0.0.i1%3A84.0.0.i2%3A92.6.0.i1%3A98.6.4%3A132.0.0%3A207.0.0%3A210.0.0.i1%3A222.0.0.i1%3A225.0.0.i1%3A230.1.0.i3%3A239.1.0.i2%3A242.0.1%3A250.2.0.i2%3A258.2.0%3A260.1.0.i4%3A303.0.0%3A304.1.0.i1%7CHCOM_US"))
    ou alors j'ai rien comprit a la "valeur"

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il faut ajouter le chemin et le domaine dans le constructeur de Cookie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim name As String = "mvthistory"
    Dim value As String = "48.0.0.i1%3A84.0.0.i2%3A92.6.0.i1%3A98.6.4%3A132.0.0%3A207.0.0%3A210.0.0.i1%3A222.0.0.i1%3A225.0.0.i1%3A230.1.0.i3%3A239.1.0.i2%3A242.0.1%3A250.2.0.i2%3A258.2.0%3A260.1.0.i4%3A303.0.0%3A304.1.0.i1%7CHCOM_US"
    Dim path = "/"
    Dim domain = "www.lesite.com"
     
    cookies.Add(New Cookie(name, value, path, domain))

  13. #13
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    bon bah tout marche sauf que ca reste en francais bien qu'il lit le bon cookie
    surement que ca doit pas marcher avec htmlweb

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par cha23 Voir le message
    bon bah tout marche sauf que ca reste en francais bien qu'il lit le bon cookie
    Tu es sûr que c'est bien ce cookie qui indique la langue ?
    Tu peux donner le lien de la page que tu essaies de lire ?

  15. #15
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Par défaut
    edit: apres different essai d'un coup ca a marché je ne sais pas pourquoi

    merci pour ton aide tomlev

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

Discussions similaires

  1. souci sur ajout de données de zone de liste
    Par Tierisa dans le forum IHM
    Réponses: 6
    Dernier message: 27/09/2005, 08h30
  2. Mysql LongBlob: recuperer les données
    Par froz dans le forum SGBD
    Réponses: 1
    Dernier message: 24/08/2005, 14h41
  3. PB de recuperation de données en asynchrone !!
    Par Stopher dans le forum C++
    Réponses: 8
    Dernier message: 01/02/2005, 23h20
  4. Recuperer des données d'access
    Par Lucier dans le forum MFC
    Réponses: 18
    Dernier message: 25/11/2004, 10h29
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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