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 :

Se connecter à un site et rester connecter [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut Se connecter à un site et rester connecter
    Bonjour à toutes et tous,

    Voici mon problème du moment.

    Je cherche à me connecter sur le webmail roundcube pour faire une analyse des mails présents pour mettre certaines informations dans des variables pour les traiter puis effacer le mail et passer au suivant.

    J'ai réussis à me connecter au site. Je pensais alors que la session était ouverte et qu'il me suffirait de prendre le code source pour en extraire les liens vers les mails puis ouvrir ces liens pour en télécharger la source et pouvoir l'analyser à souhait. Enfin procéder à un clic sur "supprimer".

    Erreur de jeunesse... En effet, la connexion est en https et je pense que cela fait que je ne reste pas connecté. Il me faut donc trouver une autre solution pour, une fois connecté, récupérer les codes sources des différents mails afin de pouvoir en faire l'analyse.

    Je suis débutant et je ne comprends pas tous les dessous du fonctionnement, des choses m'échappent forcément alors votre aide sera précieuse !

    Merci et bonne soirée.

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir alberto314,

    Il n'y a pas de fumée sans feu....donc si tu veux te connecter à un site en vue de pouvoir récupérer des informations tu devras impérativement passer par l'apprentissage des WebRequests.

    Il n'y a pas d'autres solutions...et croire qu'un composant WebBrowser est une solution c'est voué à l'échec !!


    Bonne continuation.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Bonsoir Wallace1,

    J'ai déjà fait des exercices de récupérations d'informations à partir du code source. Je vais sur la page, je charge le code source puis je l'analyse pour en tirer les informations qui me sont nécessaires. Cela ne me pose pas plus de problèmes que cela.

    La différence est que je dois me connecter d'abord. La connexion se passe bien mais quelques chose m'échappe, pourquoi je n'ai pas accès à la suite en accès direct alors que normalement je suis connecté ?

    J'ai déjà fait cela auparavant et je ne rencontrais pas de problème.

    Je cherche... Je suis preneur de tout conseils.

    Merci à vous !

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    ....^^ moi aussi je sais très bien comment ça fonctionne sinon je n'aurais pas répondu à ton post.
    Mon outil de capture et hébergement d'images utilise les WebRequests de A à Z : http://wallace87000.upd.fr/ImaboxUploader.exe

    ....Bref.....

    .... donc déjà comment tu te connectes à ton site et de quelle manière analyses-tu les requêtes en général ??

    Si tu n'arrives pas à conserver ta connexion c'est que les informations de sessions sont manquantes ou partielles ou encore que tu ne sais pas à quel moment utiliser une requête de type GET ou POST....il y a une multitude de raisons pour lesquelles ca pourrait poser soucis...mais sans code je peux établir une liste d'hypothèses

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Je suis un gros débutant, ce n'est pas toujours simple de comprendre le fonctionnement.

    Voici mon code de connection:

    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
     ' bloque les erreurs
            WebBrowser1.ScriptErrorsSuppressed = True
            ' ouvre la page et attend qu'elle soit chargée
            WebBrowser1.Navigate("https://ssl0.ovh.net/roundcube/")
            While Not WebBrowser1.ReadyState = WebBrowserReadyState.Complete
                Application.DoEvents()
            End While
     
            'recherche les cartouches et les remplis
            Dim input = WebBrowser1.Document.GetElementsByTagName("input")
            For Each separe As HtmlElement In input
                Dim sContenu As String = separe.GetAttribute("name").ToString
                If sContenu = "_user" Then
                    separe.SetAttribute("Value", "Adresse email")
                End If
                If sContenu = "_pass" Then
                    separe.SetAttribute("Value", "mot de passe")
                End If
            Next
     
            ' cherche le bouton et clique
            Dim BtnValider = WebBrowser1.Document.GetElementsByTagName("input")
            For Each separe As HtmlElement In BtnValider
                Dim sContenu As String = separe.GetAttribute("Value").ToString
                If sContenu = "Connexion" Then
                    separe.InvokeMember("click")
                End If
            Next       
     
        End Sub
    Comme tu peux voir je n'utilise pas du tout de GET et POST... je suis pleinement conscient que mon code souffre de manque. Je demande qu'à progresser !

    Merci pour ton aide.

  6. #6
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    C'est bien ce que je disais plus haut...utiliser un composant webbrowser ce n'est pas adapté pour garder une session ouverte....

    Je ne te donnerais pas de code et le plus simple pour débuter c'est d'analyser toi-même tes requêtes afin de savoir les constituer !

    Utilises Fiddler c'est un très bon outil d'analyse et ensuite parmi mes derniers posts il y a de quoi te renseigner sur le fonctionnement des WebRequests......

    Et il n'y a pas de secret quand on veut progresser on investie de sa personne à 80% donc faut bouffer des ressources dans les bouquins ou sur le Web (MSDN, TehNet, ItPro,...)

    Je me ferais un plaisir de te mettre sur la voie lorsque tu auras construits une requête de connexion, une vraie.


    A+ et bon codage.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Merci pour tes conseils.

    Je parcours un peu les sites a gré des recherches mais je part de tellement loin que ça parait difficile de parvenir à quelques choses... On va essayer, on verra ce que ca donnera.

    Merci.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Bon j'ai passé une partie de la nuit à lire et essayer de comprendre un peu plus le fonctionnement des requêtes de connexions... Sans trop de réussite...

    Quelqu'un pourrait-il m'éclairer sur 2 ou 3 choses car, je le rappel, je suis gros débutant et là j'ai du mal ne ceresse qu'à comprendre la moindre logique de fonctionnement !

    Je lis des "WebRequests", de "cookiescontainer", des "Get" et "Post" etc mais, à ce jour aucunes explications assez claires pour moi.

    Quelles est la logique de fonctionnement afin que je puisse me documenter, quelles sont les étapes ?

    Merci à vous !

  9. #9
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour alberto,

    La logique est pourtant simple et ca va te paraitre c** :
    Il faut que tu saches comment fonctionne une requete web.
    Voila pour apprehender le concept :
    http://www.developpez.net/forums/d13...p/#post7594354

    http://www.developpez.net/forums/d13...p/#post7596756

    L'idéal c'est de commencer par une requête simple de connexion à un site :

    1-tu enregistres un compte sur l'hébergeur d'images imabox.fr par (exemple)
    2-tu te deconnectes du compte
    3-tu lances fiddler et tu supprimes la liste des requétes dans le volet de gauche
    4-tu cliques sur l onglet "inspectors" dans le volet de droite. Tu as en visuel :
    - dans la partie superieure : request
    - partie inferieur : response
    5-assures toi de n'avoir aucune autre page du navigateur ouverte !!
    6-tu te logues sur ton compte du site imabox. Lorsque tu cliques sur le bouton "se connecter" observes le volet de gauche de fiddler : une url apparait (requete de connection).
    7- analyses dans le volet de droite la constitution de la requete :
    Hote
    Referer
    CokkieContainer
    .......etc
    Regardes egalement s' il existe une reponse de retour en partie inferieure de ce meme volet. Si c'est le cas : est-ce qu elle est encodée, quel type.....etc ?

    Déjà quand tu sauras decortiquer une requete tu pourras envisager de te pencher sur les cours du langage de prog que tu comptes utiliser.

    J'espere que c'est plus clair car il n'existe pas de condenser pour l apprentissage des bases.
    Comment veux-tu travailler sur la lecture de tag MP3 si tu n'as jamais etudier en theorie comment est constitué un tel fichier, ??? c'est un exemple valable pour notre domaine qu'est la programmation.

    A+

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un webmail n'est qu'un site qui se connecte à un serveur de mail pour afficher les mails
    si tu veux les mails autant se connecter directement au serveur de mail ca sera plus simple (pop3/imap)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    un webmail n'est qu'un site qui se connecte à un serveur de mail pour afficher les mails
    si tu veux les mails autant se connecter directement au serveur de mail ca sera plus simple (pop3/imap)
    Effectivement ca semble moins pernicieux.....^_^

    Mais j'avais deja vu une question à peu de choses similaire jadis et personne n'y avait repondu :
    http://www.developpez.net/forums/d13...e/#post7447308

    Donc comme le dit pol63 si tu as les paramètres de connexions autant se brancher a la boite directement.
    Personnellement je complique un poil trop les choses...^_^

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses.

    En effet c'était mon idée première de télécharger les mails reçus. J'arrive à envoyer des mails mais les recevoir semble plus compliqué et il est difficile de trouver des informations la-dessus.

    J'ai trouvé un tuto mais qui date de 2004 et que je n'ai pas réussi à mettre en place:
    http://lgmorand.developpez.com/dotnet/mail/

    Passer par le webmail n'était qu'une manière détournée de parvenir au résultat. Il serait évidement que cela serait bien mieux de ne pas à avoir à passer par un site "externe".

    Si vous avez des infos sur la manière de procéder, je suis preneur. En attendant je vais lire les liens de Wallace1 (merci).

  13. #13
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    comme quoi tu pensais que c'était compliqué de recevoir les mails donc tu es partis sur le webmail, mais en fait le webmail me semble plus compliqué, et moins maintenable

    le framework a ce qu'il faut pour envoyer les mails mais rien pour les recevoirs, par contre il a des dll tierces qui le font, ce qui évite de coder le dialogue en socket comme le tuto que tu as trouvé
    il faut donc trouver une dll pop3 ou imap, l'ajouter en référence dans ton projet et le code devrait être simple

    vb.net n'est pas aussi utilisé que c#, aussi pour rechercher dans google il vaut mieux taper c# pop3 ou c# imap
    les dll c# fonctionnent en vb.net, et si tu trouves du code d'exemple d'utilisation en c# tu peux passer pas un convertisseur c# <=> vb.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Bonjour àtous,

    Merci pour vos précieux conseils car j'ai réussi à récupérer mes mails directement dans VB grâce à la dll openpop (http://hpop.sourceforge.net/).

    Ça n'a pas été simple mais ça fonctionne ! Reste encore pas mal de boulot pour que tout soit propre mais c'est en bonne voie !

    J'ai une petite question qui me reste, comment faire pour supprimer le mail du serveur une fois récupéré par le logiciel ? Si je comprends bien le code permet juste de faire "une copie" du mail dans le logiciel, c'est bien cela ?

    Merci pour votre aide.

  15. #15
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    http://hpop.sourceforge.net/documentation/index.html ?

    y a une doc, il faudrait en théorie tout lire ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Content de voir que tu as pu trouver une solution.

    Bonne continuation.

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Bonjour à tous,

    Merci wallace1 pour ton aide et je garde ton explication sur les requête pour y jeter tout de même un oeil.

    Pol63, merci également pour ton aide et tes infos qui ont permis d'apporter la solution... Même s'il reste encore pas mal de boulot pour parvenir au résultat souhaité.

    J'avoue avoir demandé de l'aide rapidement concernant le fait d'effacer les mails du serveur. La mise en place de la dll et du code m'ayant demandé beaucoup de travail j'ai vite craqué... Mon anglais n'a pas motivé non plus à lire la doc...

    Je me penche la dessus dès que possible.

    Encore merci.

    Bonne journée.

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 104
    Points : 18
    Points
    18
    Par défaut
    Bonjour à tous,

    Je viens poster la solution pour effacer un mail du serveur pour ceux qui rencontreraient le même problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim iMessageNumber As Integer
    [...]
    client.DeleteMessage(iMessageNumber)
    [...]
    ' Se deconnecte et efface les messages en même temps
    client.Disconnect()
    Encore merci et bonne continuation

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

Discussions similaires

  1. Impossibilité de rester connecté site en local
    Par radgeur dans le forum Serveurs (Apache, IIS,...)
    Réponses: 4
    Dernier message: 27/06/2012, 10h18
  2. Qui est actuellement connecté à mon site
    Par deew59 dans le forum Langage
    Réponses: 13
    Dernier message: 23/02/2007, 08h19
  3. equipement necessaire pour connecter 2 sites distants à l'internet
    Par didou180982 dans le forum Développement
    Réponses: 4
    Dernier message: 09/02/2007, 12h28
  4. Réponses: 4
    Dernier message: 01/11/2006, 17h26
  5. Réponses: 4
    Dernier message: 16/05/2006, 01h55

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