Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire Python

Sujet résolu
    16 décembre 2011 à 22:14:42

    Bonjour à tous !
    Voilà je m'attaque aujourd'hui au site newbiecontest, et j'ai besoin de faire un scrip qui me connecte..
    Voila ce que j'ai fait :
    # -*- coding: utf-8 -*-
    import cookielib, urllib, urllib2
    
    login = '******@hotmail.fr'
    password = '******'
    
    # On active le support des cookies pour urllib2
    cookiejar = cookielib.CookieJar()
    urlOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
    
    # On envoie login/password au site qui nous renvoie un cookie de session
    values = {'login':login, 'password':password }
    data = urllib.urlencode(values)
    request = urllib2.Request("http://www.newbiecontest.org/forums/index.php?action=login2", data)
    url = urlOpener.open(request)  # Notre cookiejar reçoit automatiquement les cookies
    page = url.read(500000)
    
    # Maintenant on fait une autre requête sur le site avec notre cookie de session.
    url = urlOpener.open('http://www.newbiecontest.org/epreuves/prog/prog1.php')
    page = url.read(200000)
    print page
    

    Le script fonctionne, mais le site me renvoi, on peut le voir sur le dernier print, que je ne suis pas loggé...
    Mes données sont remplacées par mes vrais loggin ;)
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2011 à 4:08:22

      Bonsoir,

      Le formulaire de connexion :

      <form action="http://www.newbiecontest.org/forums/index.php?action=login2" method="post" accept-charset="UTF-8" class="middletext" style="margin: 3px 1ex 1px 0;" onsubmit="hashLoginPassword(this, '01bd78c4d07fe4e77828f0a7773a5cc8');">
       <table border="0" cellpadding="1" cellspacing="0">
        <tr>
         <td>
          Username:
         </td>
         <td>
          <input type="text" name="user" size="10" />
         </td>
         <td>
          <select name="cookielength">
           <option value="60">
            1 heure
           </option>
           <option value="1440">
            1 jour
           </option>
           <option value="10080">
            1 semaine
           </option>
           <option value="43200">
            1 mois
           </option>
           <option value="-1" selected="selected">
            Toujours
           </option>
          </select>
         </td>
        </tr>
        <tr>
         <td>
          Password:
         </td>
         <td>
          <input type="password" name="passwrd" size="10" />
         </td>
         <td>
          <input type="submit" value="Identifiez-vous" />
         </td>
        </tr>
       </table>
       <input type="hidden" name="hash_passwrd" value="" />
      </form>
      


      On peut déjà voir que les champs ne sont pas login et password mais user et passwrd.
      Il y a en plus deux autre champs cookielength et hash_passwrd, ils ne sont peut-être pas utile, mais dans le doute ça ne coûte pas grand chose de les mettre (le script de traitement du formulaire considère-t-il l'absence d'un champ comme une erreur .. ?).
      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2011 à 7:55:35

        Citation : Grinwik

        Bonsoir,

        Le formulaire de connexion :

        <form action="http://www.newbiecontest.org/forums/index.php?action=login2" method="post" accept-charset="UTF-8" class="middletext" style="margin: 3px 1ex 1px 0;" onsubmit="hashLoginPassword(this, '01bd78c4d07fe4e77828f0a7773a5cc8');">
         <table border="0" cellpadding="1" cellspacing="0">
          <tr>
           <td>
            Username:
           </td>
           <td>
            <input type="text" name="user" size="10" />
           </td>
           <td>
            <select name="cookielength">
             <option value="60">
              1 heure
             </option>
             <option value="1440">
              1 jour
             </option>
             <option value="10080">
              1 semaine
             </option>
             <option value="43200">
              1 mois
             </option>
             <option value="-1" selected="selected">
              Toujours
             </option>
            </select>
           </td>
          </tr>
          <tr>
           <td>
            Password:
           </td>
           <td>
            <input type="password" name="passwrd" size="10" />
           </td>
           <td>
            <input type="submit" value="Identifiez-vous" />
           </td>
          </tr>
         </table>
         <input type="hidden" name="hash_passwrd" value="" />
        </form>
        



        On peut déjà voir que les champs ne sont pas login et password mais user et passwrd.
        Il y a en plus deux autre champs cookielength et hash_passwrd, ils ne sont peut-être pas utile, mais dans le doute ça ne coûte pas grand chose de les mettre (le script de traitement du formulaire considère-t-il l'absence d'un champ comme une erreur .. ?).


        Merci à toi ! Je n'avais pas fait attention au nom des variables !!
        Grand merci !
        Bonne continuation.
        • Partager sur Facebook
        • Partager sur Twitter

        Formulaire Python

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown