J'ai de la dificulté à récupérez des pages Web à l'aide des modules LWP::UserAgent. J'ai fait un script qui recherche des annonces sur des sites sélectionnés. Il fonctionne presque tout le temps sauf pour certains sites et je ne comprends pas pourquoi. Voici le code que j'ai essayé la première fois.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
use LWP::UserAgent;
use HTTP::Response;
use URI::Heuristic;
 
unless (defined ($content = get ($URL) )) {
print "could not get page at: $URL <br>";
}

La variable $content contient la page Web qui sera stocké dans un fichier temporaire afin de ressortir les éléments recherchés (dans mon cas il s'agit d'annonce de voilier à vendre).

Sur une dizaine de site, celui-ci ne fonctionnent toujours pas (www.sailboatlistings.com). J'obtiens toujours le message d'erreur suivant:

"could not get page at: $URL"

J'ai aussi essayé ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
require LWP::UserAgent;
 my $ua = LWP::UserAgent->new;
 $ua->timeout(10);
 $ua->env_proxy;
 
 my $response = $ua->get($URL);
 
 if ($response->is_success) {
     print $response->decoded_content;  # or whatever
 }
 else {
     print "$response->status_line<p>";
Mais pour les deux sites en questions j'avais toujours un message d'erreur :

"HTTP::Response=HASH(0xa05109c)->status_line"

Est-ce que cette information est utile pour trouer la solution ?

Voici les deux sites avec lequel j'ai présentement des problèmes :

Questions :

A) Qu'est-ce qui va pas avec mon code pour ces sites ?

B) Est-ce que ce genre de problème est fréquent ?

C) Exist-il un débugger ou une méthode quelconque pour résoudre ce genre de problème ?

Je suis débutant avec Perl. Pouvez-vous m'aider ?

Merci beaucoup,

yjulien