Posté(e) le 1 novembre 200618 a 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 !
Posté(e) le 1 novembre 200618 a Auteur 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 :)
Posté(e) le 2 novembre 200618 a Merci pour la réponse Je rajoute [perl] et [résolu] (et des balises code)
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.