Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2566 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Remplir formulaire de connexion automatiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplir formulaire de connexion automatiquement

n°2040015
le_sayan
Posté le 04-12-2010 à 14:36:28  profilanswer
 

Bonjour,  
voici ce que je souhaite faire :  
 
Pour me connecter à internet en wifi, je dois m'identifier sur une page "https://controller.mobile.lan/".
Il y a juste 2 champ à remplir et une validation à faire mais j'aimerais automatiser ce processus. J'utilise google chrome sur ubuntu, et je ne vois pas comment faire ( j'ai regardé dans le remplissage automatique de formulaire, mais cela n'a pas l'air facilement configurable).  
J'ai fait une petite recherche, et certains parlent de perl, delphi avec requete post(). Je ne connais pas ces langages de prog mais je pense que pour ce que je veux en faire, cela ne doit pas demander beaucoup de ligne de code.
Sous windows, j'avais un logiciel du genre de Steganos Password Manager, vraiment pratique, mais je n'ai pas trouvé d'équivalent sous linux.
 
J'espère que vous pourrez m'aider
 
Merci d'avance.

mood
Publicité
Posté le 04-12-2010 à 14:36:28  profilanswer
 

n°2040025
gilou
Modérateur
Modzilla
Posté le 04-12-2010 à 16:25:44  profilanswer
 

Le module WWW::Mechanize est la pour ça (et bien plus).
Noter que sous linux, quelque chose comme wicd devrait aussi le faire.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2040051
le_sayan
Posté le 04-12-2010 à 19:24:11  profilanswer
 

Merci gilou pour ta réponse.
J'ai regardé de près mechanize et j'ai voulu le tester sur le site de "La spirale", pour voir s'il m'identifiait, mais cela ne fonctionne pas.
Voici le code (qui me semble pourtant bon) :  
 

Code :
  1. #!/usr/bin/env ruby
  2. require 'rubygems'
  3. require 'mechanize'
  4. agent = WWW::Mechanize.new
  5. # Page de connexion
  6. page  = agent.get('http://spirale.aneantis.com/connexion.html')
  7. # Remplissage du formulaire de connexion
  8. form  = page.form('form1')
  9. form.login = 'mon login'
  10. form.pass1 = 'mon_mot_de_passe'
  11. form.click_button(form.button_with(:name => 'submit'))


 
As-tu une idée ?


Message édité par le_sayan le 04-12-2010 à 19:29:08
n°2040058
gilou
Modérateur
Modzilla
Posté le 04-12-2010 à 22:08:04  profilanswer
 

Mais pourquoi balances tu du code ruby alors que tu as demandé de l'aide en Perl? J'avais mis le module en lien.
A la base en perl, cela devrait avoir cet aspect:

Code :
  1. #!/usr/bin/perl
  2.    use strict;
  3.    use warnings;
  4.    use WWW::Mechanize;
  5.  
  6.    my $url = 'http://spirale.aneantis.com/connexion.html';
  7.    my $login =  'mon login';
  8.    my $passwd = 'mon_mot_de_passe';
  9.  
  10.    my $mech = WWW::Mechanize->new();
  11.    $mech->get( $url );
  12.    $mech->submit_form(
  13.        form_name => 'form1'
  14.        fields    => {
  15.            login => $login,
  16.            pass1 => $passwd,
  17.        }
  18.    );
  19.   die unless ($mech->success);


Bon ensuite, il faut voir si ce qui est donné avec le submit form suffit au serveur (a priori, cela devrait être la cas).
Bref faut tester.
A+,


Message édité par gilou le 04-12-2010 à 22:15:44

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2040085
le_sayan
Posté le 05-12-2010 à 12:54:20  profilanswer
 

Désolé pour le ruby, mais j'ai suivi ton lien sur mechanize et en cherchant à utiliser ce module, je suis tombé sur un tuto qui me semblait bien fait ... mais en ruby. J'ai donc voulu le tester.
 
Bref, j'ai exécuté ton code, mais cela ne fonctionnait pas : j’avais une erreur avec les " fields".J'ai un peu modifié la syntaxe de ton code mais cela ne marche toujours pas : le code tourne, mais l'identification ne se fait pas.
L'erreur viendrait des meta tags : j'ai donc rajouté l'option, mais j'ai une erreur :  
 
 

Code :
  1. #!/usr/bin/perl
  2.    use strict;
  3.    use warnings;
  4.    use WWW::Mechanize;
  5.  
  6.    my $url = 'http://spirale.aneantis.com/connexion.html';
  7.    my $login =  'mon_login';
  8.    my $passwd = 'mon-pwd';
  9.  
  10.    my $mech = WWW::Mechanize->new();
  11.    $mech->get( $url );
  12. print $mech->title, "\n";
  13.  
  14.     $mech->form_with_fields(("login", "pass1" ));        
  15.     $mech->field("login",$login);
  16.     $mech->field("pass1",$passwd);
  17.        
  18.        $mech->submit_form();
  19. print $mech->title, "\n";
  20.     $mech->follow_link(tag => 'meta');
  21. print $mech->title, "\n";
  22.       die unless ($mech->success);


 
 
l'erreur :   Can't call method "url" on an undefined value at /usr/share/perl5/WWW/Mechanize.pm line 713.
 

n°2040090
le_sayan
Posté le 05-12-2010 à 13:29:30  profilanswer
 

Apparemment, mechanize ne fonctionne pas avec du javascript (mes espoirs tombent à l'eau ) :http://search.cpan.org/dist/WWW-Mechanize/lib/WWW/Mechanize/FAQ.pod#JavaScript
 
D'autres idées ?

n°2040107
gilou
Modérateur
Modzilla
Posté le 05-12-2010 à 14:42:22  profilanswer
 

Si tu es sous Windows, il faut aller voir du coté du module Win32::IE::Mechanize qui fait appel a IE pour interpréter le javascript et remplacer WWW::Mechanize par ce module.
Si tu es sous Unix, c'est mal barré: tu peux jeter un oeil à WWW::Scripter et WWW::Scripter::Plugin::JavaScript mais je ne peux pas les tester sur mon implémentation de perl et donc je ne sais pas si ça colle.
A+,


Message édité par gilou le 05-12-2010 à 14:49:26

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2040108
le_sayan
Posté le 05-12-2010 à 14:46:26  profilanswer
 

Je suis sous ubuntu. Je crois que je vais laisser tomber, c'en devient bien trop compliquer pour le besoin que j'en ai.
Merci quand même.
Bonne journée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Remplir formulaire de connexion automatiquement

 

Sujets relatifs
SYMFONY - Champ de vérification Captcha pour un formulaireFormulaire Excel Commissions
Formulaire et requete SQLFormulaire dans une JSP : auto complétion ?
affichage div dans un formulaireModifier le contenu d'une table avec un formulaire ?
transmission de varible avec 1 formulaire[RESOLU]redirection php a partir d'un form le tout sur un seul fichier
Formulaire a envoyer / Mail vide / html + phpProblème de formulaire javascript validation
Plus de sujets relatifs à : Remplir formulaire de connexion automatiquement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR