pierrickg Posted November 1, 2006 Share Posted November 1, 2006 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 ! Link to comment Share on other sites More sharing options...
pierrickg Posted November 1, 2006 Author Share Posted November 1, 2006 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 :) Link to comment Share on other sites More sharing options...
theocrite Posted November 2, 2006 Share Posted November 2, 2006 Merci pour la réponse Je rajoute [perl] et [résolu] (et des balises code) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.