Une erreur d'exécution se produit lors de l'exécution d'un programme Perl dont le fonctionnement avec l'accès Web a été confirmé dans un certain environnement.
Erreur lors de l'accès au Web via HTTP
$ perl test.pl
501 Attempt to reload IO/Socket.pm aborted.
Compilation failed in require
Erreur lors de l'accès au Web via HTTPS
$ perl test.pl
LWP will support https URLs if the LWP::Protocol::https module
is installed.
test.pl
#!/usr/bin/perl
use LWP::UserAgent;
my $url = "https://www.example.com";
my $request = HTTP::Request->new(GET => $url);
my $useragent = LWP::UserAgent->new;
my $response = $useragent->request($request);
my $result = $response->content;
print $result;
Perl a été installé à l'aide de la commande yum de manière éprouvée, et les bibliothèques nécessaires ont également été installées. Cependant, une erreur d'exécution se produit.
$ sudo yum install perl
$ sudo yum install perl-Net-SSLeay
$ sudo yum install perl-Crypt-SSLeay
$ sudo yum install perl-IO-Socket-SSL
$ sudo yum install perl-IO-stringy
$ sudo yum install perl-URI
$ sudo yum install perl-LWP-Protocol-https
Comparé à un environnement de travail, j'ai trouvé que perl-Socket n'était pas installé dans le paquet Perl. L'installation de ce paquet avec la commande yum le résoudra facilement!
$ sudo yum install perl-Socket
C'est un package qui est généralement installé en tant que dépendance, et je ne l'ai jamais installé individuellement, mais il se peut que l'environnement que j'utilisais était RHEL7 installé dans un certain cloud et avait un problème avec la gestion des packages. ..