[Résolu] pb HTTP::Headers et HTTP_ACCEPT_LANGUAGE
Bonjour,
J'ai besoin de récupérer le contenu d'une page web. Voilà le code que j'utilise :
Code:
my $request = new HTTP::Request('GET', $url);
Jusque là aucun problème. Or, dans le cas d'un site multilingue, j'ai besoin de spécifier la variable HTTP_ACCEPT_LANGUAGE, variable utilisée habituellement par un navigateur pour éventuellement afficher la page dans une langue préférée.
J'ai tenté plusieurs méthodes sans succès, à chaque fois le contenu m'est renvoyé en anglais, alors que lorsque j'affiche la page dans mon navigateur, le contenu est bien en français (langue préférée de mon navigateur).
Voilà mes tentatives :
Code:
my $request = new HTTP::Request('GET', $url, ["HTTP_ACCEPT_LANGUAGE" => "fr"])
;
Code:
1 2 3
| my $header = HTTP::Headers->new;
$header->header('HTTP_ACCEPT_LANGUAGE' => 'fr');
my $request = new HTTP::Request('GET', $url, $header); |
Code:
1 2 3
| my $request = new HTTP::Request('GET', $url);
my $headers = $request->headers();
$headers->header( 'HTTP_ACCEPT_LANGUAGE' => 'fr'); |
Quelqu'un a-t-il une idée de la raison pour laquelle ces différentes méthodes ne fonctionnent pas ?
Pour info, voilà le contenu de la requête :
Code:
1 2 3 4 5 6 7 8
| $VAR1 = bless( {
'_content' => '',
'_uri' => bless( do{\(my $o = 'mon_url_blablibla')}, 'URI::http' ),
'_headers' => bless( {
'http-accept-language' => 'fr'
}, 'HTTP::Headers' ),
'_method' => 'GET'
}, 'HTTP::Request' ); |
Merci.