Accéder à une page WEB en PERL
Fermé[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 4 janv. 2023 à 14:28
- Lwp::protocol::https
- Supprimer une page word - Guide
- Traduire une page web - Guide
- Web office - Guide
- Enregistrer une page web en pdf - Guide
- Capture page web - Guide
2 réponses
23 sept. 2022 à 10:01
Désolé, je ne vois ton message que maintenant.
Le tiret ne devrait poser absolument aucun problème.
Dans les distributions récentes de libwww-perl, le support de https nécessite l'installation du module séparé LWP::Protocol::https
https://metacpan.org/release/ETHER/libwww-perl-6.36/source/README.SSL
As-tu installé ce module depuis CPAN ?
4 janv. 2023 à 14:01
Bonjour,
A mon tour d'avoir longuement trainé pour te répondre !
Ayant pour finir trouvé la solution, je la poste telle quelle
En fait j'ai testé ta proposition, mais cela n'a rien changé. J'ai encore beaucoup cherché et suis maintenant sur une autre piste.
Ce pourrait être un problème de certificat, non valide ? non reconnu ?
Si cela s'avère exact, il faudrait que je bypasse la validation SSL (bien que ce soit peu recommandé, mais bon ...)
Je viens de trouver .....
Il faut forcer la variable verify_hostname à 0
use LWP::UserAgent;
use HTTP::Request::Common qw(GET);
my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, );
my $req_EG = GET 'https://www.forge-db.com/fr/fr13/guilds/?server=fr13&world=Noarsil';
my $res_EG = $ua->request($req_EG);
Cordialement
4 janv. 2023 à 14:28
Pas de problème, merci pour ton retour :-)
En fait, la documentation du module LWP::Protocol::https
https://metacpan.org/pod/LWP::Protocol::https#DESCRIPTION
indique que la vérification des certificats se fait avec les certificats racine installés par le module Mozilla::CA (sauf à indiquer dans ssl_opts des SSL_ca_file et SSL_ca_path alternatifs que tu indiques toi même). Si tu ne fais ni l'un, ni l'autre, LWP::Protocol::https n'est effectivement pas en mesure de vérifier le certificat.
Si tu veux vérifier les certificats des sites auxquels tu te connectes, le plus simple est d'installer Mozilla::CA et tu devrais pouvoir retirer "verify_hostname => 0" de tes paramètres ssl_opts.