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

Réseau/Web Python Discussion :

Connexion site web


Sujet :

Réseau/Web Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Connexion site web
    Bonjour,

    Je cherche à utiliser python pour naviguer au sein d'un site web sécurisé. Je réussis à passer la première étape, à savoir m'authentifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import cookielib, re, urllib, urllib2
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    urllib2.install_opener(opener)
    data = urllib.urlencode([('name', 'myname'),('password', 'mypassword')])
    req = urllib2.Request("https://www.example.com/login", data)
    r = urllib2.urlopen(req)
    Là, tout va bien. Je me retrouve sur la page https://www.example.com/start.aspx et mon CookieJar se remplit. Mais c'est là que les ennuis commencent.

    Sur cette page se trouve une forme, qui consiste en fait en deux inputs cachées, et pleins d'input image, le tout avec des noms plutot compliqués.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form name="Form1" method="post" action="Start.aspx" id="Form1">
    <input type="hidden" name="__A" value="/wE+PG/QFWgV4dpQ=" />
    <input type="hidden" name="__S" value="/w+6/4+i=" />
    <input type="image" name="c0$r$c1$b" src="im1.gif" />
    <input type="image" name="c0$r$c2$b" src="im2.gif" />
    ...
    Admettons que je veuille simuler avoir cliqué sur la première image, je tape donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    data = urllib.urlencode([("__A", "/wE+PG/QFWgV4dpQ="), ("__S", "/w+6/4+i="),("c0$r$c1$b", "")])
    req = urllib2.Request("https://www.example.com/Start.aspx", data)
    r = urllib2.urlopen(req)
    mais malheureusement, ça ne marche pas: je retombe sur cette même page.

    Est-ce que quelqu'un aurait une idée de ce qui ne va pas, ou comment avancer? Est-ce que ce pourrait être la faute à ces noms à caractères bizarres qui doivent être encodés d'une certaine façon? Est-ce que je passe bien les arguments qui correspondent au click image?

    Help, je désespère...

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Une connexion https se construit lors de la requête de connexion: vous devez avoir la méthode https adhoc dans l'urllib pour dire "je me connecte via https" plutôt que via http.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Je ne suis pas sur de comprendre cette réponse: dois-je utiliser une fonction autre que Request? En existe-il une et comment s'appelle-t-elle?

    Par ailleurs je rappelle que je passe une première étape d'identification qui est elle-aussi en https -- y aurait-il une raison pour laquelle cela marcherait pour l'une et par pour l'autre?

  4. #4
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Pleins de questions bicose j'ai les mêmes problèmes que toi mais je comprendre encore moins.
    Citation Envoyé par user4 Voir le message
    ... et mon CookieJar se remplit. ...
    Comment savoir si ton cookiejar est rempli. Que contient t'il, où est-il stocké ?

    J'ai repris ton programme, mais après exécution, je retrouve la page de demande de saisie des identifiants, alors que je les ais saisis dans le programme. Pourquoi ne veut-il pas passer cette étape ?

    Par ailleurs, si cookie il y a, à quoi sert-il, comment s'en servir ?

    Est-il possible qu'un cookie soit reçu dès accès à la page d'identification ; et faut-il le retransmettre dans le programme, comment ?

Discussions similaires

  1. Visual et connexion site web
    Par splif dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 11/06/2014, 13h20
  2. Android connexion site web apres authentification
    Par nacimovitch dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 16/03/2013, 22h44
  3. connexion site web
    Par siddi dans le forum Langages serveur
    Réponses: 8
    Dernier message: 25/06/2011, 12h37
  4. Réponses: 9
    Dernier message: 23/03/2010, 17h13
  5. Connexion Site Web via perl
    Par math74 dans le forum Web
    Réponses: 1
    Dernier message: 09/04/2009, 15h05

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