Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

script CGI d'accès à ma console free

1 réponse
Avatar
gregoire meallonnier
Bonjour à tous,

Etant un profane du langage perl, j'essaye de construire un robot de
connection automatique à ma console d'administration afin de télécharger
automatiquement tous les mois (via un cron) ma facture pour la classer
dans mes archives. A la main c'est pénible. Puis bon l'informatique doit
servir à quelque chose.

J'ai bien trouvé un début de piste via l'article suivant : "Construire
des robots pour le web" à l'adresse suivante :
http://articles.mongueurs.net/magazines/linuxmag75.html

Seulement j'ai suivi les conseils mais point d'accès à ma console ou
page personnalisée. Cela étant voici mon script
: (ce n'est qu'un début)

#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;

my $m = WWW::Mechanize->new;

# formulaire de login de free
$m->get ('http://subscribe.free.fr/login/');
die $m->res->status_line unless $m->success;

# remplissage et validation
$m->set_fields(
login => '----------@freeadsl' ,
pass => '----------' ,
);
$m->click;
die $m->res->status_line unless $m->success;

# vérification accès page gestion personnelle
print localtime() . " Connection réussie!\n"
if $m->content =~ /FACTURES \/ SUIVI DE CONSOMMATION/;


Bien qu'ayant bien renseigné les champs avec mes identifiants et mot de
passe.....rien. Enfin perl me renvoi le message d'alerte suivant :
No such field 'pass' at /usr/share/perl5/WWW/Mechanize.pm line 1151

Pourtant $mech-dump http://subscribe.free.fr/login/ me renvoi
post http://subscribe.free.fr/login/login.pl
login= (test)
pass= (password)
ok=login (image)

Je remercie par avance les contributeurs désireux de m'aider.
Amicalement vôtre.

1 réponse

Avatar
Paul Gaborit
À (at) Thu, 06 Apr 2006 22:16:57 +0200,
gregoire meallonnier écrivait (wrote):
Etant un profane du langage perl, j'essaye de construire un robot de
connection automatique à ma console d'administration afin de téléch arger
automatiquement tous les mois (via un cron) ma facture pour la classer
dans mes archives. A la main c'est pénible. Puis bon l'informatique doit
servir à quelque chose.

J'ai bien trouvé un début de piste via l'article suivant : "Construire
des robots pour le web" à l'adresse suivante :
http://articles.mongueurs.net/magazines/linuxmag75.html
[...]

Bien qu'ayant bien renseigné les champs avec mes identifiants et mot de
passe.....rien. Enfin perl me renvoi le message d'alerte suivant :
No such field 'pass' at /usr/share/perl5/WWW/Mechanize.pm line 1151


Cette page contient plusieurs formulaires...

Pourtant $mech-dump http://subscribe.free.fr/login/ me renvoi
post http://subscribe.free.fr/login/login.pl
login= (test)
pass= (password)
ok=login (image)


Certes... mais avant il y a aussi le formulaire de recherche 'google'.
Il faut indiquer à WWW::Mechanize le formulaire à utiliser (par
défaut, il choisit le premier). Ici, les formulaires n'ont pas de
noms. Donc soit vous codez en dur le numéro (2) via :

$m->form_number(2);

avant les appels à 'set_fields'. Soit vous utilisez le résultat de
'$m->forms' pour analyser les différents formulaires et choisir celui
que vous souhaitez...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>