Bonjour,
Ca fait quelques semaines que je cherche un morceau de code qui me dépannerait sans avoir trouvé une solution correcte de bout en bout.
Mon but : me connecter à un site HTTPS de façon scripté en fournissant user et mot de passe. Le site redirige alors vers une page du type : https://www.xxxxxx.com/portal/index.mhtml?sid=3e7bf7f1adb8736577c1eb1e35b3d99d
C'est ce sid que j'ai besoin de récupérer pour pouvoir par la suite réaliser des upload de fichiers. J'ai utilisé le morceau de code ci-dessous (entre autres), j'arrive bien à me connecter au site, mais par exemple, le contenu renvoyé est <HTML><HTML> alors que sur un site HTTP, j'aurai bien le contenu de la page.
$ua = LWP::UserAgent->new;
use LWP:ebug qw(+);
$ua->timeout (60 * $timeout);
$proxy="http://130.9.56.1";
$ENV{HTTPS_PROXY} = $proxy;
$ua->env_proxy;
$ua->agent('ma_api ' . $version . ' - ' . $ua->_agent);
$req = HTTP::Request->new (GET=> "https://$host/login/login_submit.mhtml");
$req->content_type('application/x-www-form-urlencoded');
$req->content ("username=$username&password=$password");
$res = $ua->request($req);
use LWP:ebug qw(+);
if ($res->is_error)
{
print "HTTP response code: " . $res->code . "\n";
die "There is a problem contacting $host";
}
print $res->content
Merci par avance pour votre aide et conseils
Partager