Partage
  • Partager sur Facebook
  • Partager sur Twitter

Perl LWP::UserAgent

Connexion à un site web avec user/pwd

    15 mars 2022 à 10:28:09

    Bonjour,

    J'ai trouvé ce code sur Linux Mag 56, mais quand moi je l'exécute, j'ai un message d'erreur.

    syswrite() on unopened filehandle GEN1 at C:/Strawberry/perl/lib/IO/Handle.pm line 459.

    500 write failed: Bad file descriptor at d:\OneDrive\Perl\Geneanet_old.pl line 20.

    Quelqu'un peut m'aider?

    Merci.

    #!/usr/bin/perl -w
        use strict;
        use LWP::UserAgent;
        use HTML::Form;
    
        # les paramètres personnels
        my ( $user, $pass ) = qw( BooK S3kr3t );
        my $base = 'http://www.perlmonks.org/';
    
        # initialisation de l'agent
        my $ua =
          LWP::UserAgent->new(
            agent => 'Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)' );
    
        # création de la requête
        my $req = HTTP::Request->new( GET => "${base}index.pl?node=login" );
    
        # exécute la requête et reçoit la réponse
        my $res = $ua->request($req);
        die $res->status_line if not $res->is_success;
    
        # le formulaire de login est le second formulaire de la page
        my $form = ( HTML::Form->parse( $res->content, $base ) )[1];
    
        # remplit les champs
        $form->find_input('user')->value($user);
        $form->find_input('passwd')->value($pass);
    
        # valide et renvoie le formulaire
        $ua->request( $form->click );
    • Partager sur Facebook
    • Partager sur Twitter
      15 mars 2022 à 14:38:09

      a priori, l'utilisateur défini pour se loguer sur le site n'existe pas (plus); donc se créer un compte sur le site, et utiliser ces infos de connexion dans le code  my ( $user, $pass ) = qw ( [user] [password]) pour voir si ça fonctionne.
      • Partager sur Facebook
      • Partager sur Twitter
        15 mars 2022 à 15:22:27

        Quand je le teste, c'est avec mon user et mon password.

        Et ça ne marche pas...

        • Partager sur Facebook
        • Partager sur Twitter
          15 mars 2022 à 15:39:14

          un problème similaire semble avoir été résolu après une désinstallation complète et réinstallation de perl https://lists.gnucash.org/pipermail/gnucash-user/2021-July/097199.html
          • Partager sur Facebook
          • Partager sur Twitter

          Perl LWP::UserAgent

          × 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