Aller au contenu

[résolu] [perl] Erreur 400


pierrickg

Messages recommandés

Bonjour,

voilà, j'ai une BD mySQL dans laquelle chope des liens vers des sites internets et je veux les vérifier.

Je fais donc après un tambouille pour la BD puis :

use DBI();
require LWP::UserAgent;
require HTTP::Request;
require HTTP::Response; # ??

while ($data = $sth->fetchrow_hashref()) {
# test url
$url = $data->{'url'};
$etat = &check_url($url); 
print "<BR>$etat";
}

avec la fonction :

sub check_url{
my ($url);
$url = $_[0];
my $ua = LWP::UserAgent->new;
$ua->timeout(15);
$ua->agent('Lueur.org/LaVague');
$ua->env_proxy;
my $response = $ua->get('$url');

if ($response->is_success) {
  return "ok";
} else {
  return $response->code;
}
}

et là j'ai erreur 400 pour tous les liens et je ne sais pas quoi faire !

Lien vers le commentaire
Partager sur d’autres sites

en fait ça marche mais il faut faire gaffe aux ' et " !!!

dans $ua->get('$url');

mais en fait un truc en moins de lignes donne la même chose et évite les attentes trop longues :

 my $ua = LWP::UserAgent->new;
$ua->timeout(15);
$ua->agent('Lueur.org/LaVague');
$ua->env_proxy;
my $response = $ua->get("$url");
if ($response->is_success) {
  return "ok";
} else {
  return $response->code;
}

si ça peut vous servir :)

;)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...