Description

Exemple de script perl pour récupérer une page web en utilisant un proxy authentifiant.

lwp_get_env.pl

- Code source de lwp_get_env.pl


#!/usr/bin/perl
#
# Récupération d'une page web à travers d'un proxy authentifiant
# Les paramètres du proxy sont passés en variables d'environnement
#
# Filename : lwp_get_env.pl
# Usage    : HTTP_PROXY='http://login:password@10.0.0.1:3128/' ./lwp_get_env.pl
#

use strict;
use LWP::UserAgent;
use HTTP::Request;

my $url = 'http://www.google.fr';
my $agent = 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)';

my $ua = new LWP::UserAgent (
   agent => $agent,
   timeout => 5,
   env_proxy => 1
 );

my $request = new HTTP::Request(GET => $url);
my $result = $ua->request($request);
if ($result->is_success) {
 print $result->content;
} else {
 print "Erreur : " . $result->status_line;
}

- Utilisation de lwp_get_env.pl

Ce script lit la variable d’environnement HTTP_PROXY pour récupérer l’adresse du proxy authentifiant.


$ HTTP_PROXY='http://login:password@10.0.0.1:3128/' ./lwp_get_env.pl

lwp_get_proxy.pl

- Code source de lwp_get_proxy.pl


#!/usr/bin/perl
#
#
# Récupération d'une page web à travers d'un proxy authentifiant
# Les paramètres du proxy sont écrits dans le programme
#
# Filename : lwp_get_proxy.pl
# Usage    : ./lwp_get_proxy.pl
#

use strict;
use LWP::UserAgent;
use HTTP::Request;

my $url = 'http://www.google.fr';
my $http_proxy = 'http://login:password@10.0.0.1:3128/';

my $agent = 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)';

my $ua = new LWP::UserAgent (
   agent => $agent,
   timeout => 5
 );
$ua->proxy(['http','https'], $http_proxy);

my $request = new HTTP::Request(GET => $url);
my $result = $ua->request($request);
if ($result->is_success) {
 print $result->content;
} else {
 print "Erreur : " . $result->status_line;
}

- Utilisation de lwp_get_proxy.pl

Dans ce script, sont stoqués directement les paramètres du proxy authentifiant.


$ ./lwp_get_proxy.pl