Ècrire un bot en perl avec LWP [RÉSOLU]

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

Ècrire un bot en perl avec LWP [RÉSOLU]

Messagepar bourab » 02 Avr 2007 23:38

Bonjour à tous.

Version : ipcop 1.4.11

Je cherche à réaliser un bot perlien grâce à LWP, mais j'ai
des difficultés.

UN SCRIPT À TITRE D'ILLUSTRATION DU PROBLÈME :

------------------------------------------------------------
#!/usr/bin/perl -W

use strict;

use LWP::UserAgent;
use LWP::Debug qw(+);
use Data::Dumper;

my $bot = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET => 'http://www.ixus.net/');
my $res = $bot->request($req);

print Dumper($res);
------------------------------------------------------------

CE QUE RETOURNE LE SCRIPT :

------------------------------------------------------------
LWP::UserAgent::new: ()
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: GET http://www.ixus.net/
LWP::UserAgent::_need_proxy: Not proxied
LWP::Protocol::http::request: ()
LWP::UserAgent::request: Simple response: Internal Server Error
$VAR1 = bless( {
'_content' => '500 Can\'t locate loadable object for module HTML::Parser in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl .)
',
'_rc' => 500,
'_headers' => bless( {
'client-warning' => 'Internal response',
'client-date' => 'Mon, 02 Apr 2007 21:04:52 GMT',
'content-type' => 'text/plain'
}, 'HTTP::Headers' ),
'_msg' => 'Can\'t locate loadable object for module HTML::Parser in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl .)',
'_request' => bless( {
'_content' => '',
'_uri' => bless( do{\(my $o = 'http://www.ixus.net/')}, 'URI::http' ),
'_headers' => bless( {
'user-agent' => 'libwww-perl/5.803'
}, 'HTTP::Headers' ),
'_method' => 'GET'
}, 'HTTP::Request' )
}, 'HTTP::Response' );
------------------------------------------------------------

Donc on voit qu'il manque au moins HTML::Parser.

1) Je trouve ça bizare car LWP étant installé en standard pourquoi
HTML::Parser ne l'est-il pas ? Je précise que je n'ai pas bidouillé les
paquets installés, c'est l'ipcop original.

2) Dans un deuxième temps, je me suis dit je n'ai qu'à installer
HTML::Parser dans /root comme ceci :

ls -l /root/HTML

-rw-r--r-- 1 root root 2735 2007-04-01 19:43 Filter.pm
-rw-r--r-- 1 root root 6729 2007-04-01 19:43 HeadParser.pm
-rw-r--r-- 1 root root 4589 2007-04-01 19:43 LinkExtor.pm
-rw-r--r-- 1 root root 39509 2007-04-01 20:05 Parser.pm
-rw-r--r-- 1 root root 5790 2007-04-01 19:43 PullParser.pm
-rw-r--r-- 1 root root 10134 2007-04-01 19:43 TokeParser.pm

puis inclure la directive "use HTML::Parser" dans mon script, sachant
que "." (répertoire courrant) est bien dans @INC, et que tout est fait
en tant que "root".

Ça ne marche pas non plus. Des suggestions ?
Dernière édition par bourab le 03 Avr 2007 09:31, édité 1 fois au total.
Avatar de l’utilisateur
bourab
Matelot
Matelot
 
Messages: 6
Inscrit le: 14 Mars 2004 01:00
Localisation: 94

Messagepar Franck78 » 03 Avr 2007 00:58

Passe déjà en 1.4.15 car je me souviens qu'il y avait des bizarreries de ce coté la sur les versions 1.4.x; x jusqu'a je ne sais plus, 11?, 12? ;-)

Et tout Perl n'est pas installé sur IPCop. Module pas besoin=>pas installé.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar bourab » 03 Avr 2007 09:34

Le passage 1.4.11 -> 1.4.15 a résolu ce problème... si tout pouvait être aussi simple :)
Avatar de l’utilisateur
bourab
Matelot
Matelot
 
Messages: 6
Inscrit le: 14 Mars 2004 01:00
Localisation: 94


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron