Validité d'un lien ...

Le forum de l'Annuaire Francophone des Scripts CGI: CGI : Cours CGI: Validité d'un lien ...

Jean-Sébastien

mardi 14 novembre 2000 - 08h57
Bonjour,

Je voudrais savoir comment faire pour vérifier la validité d'une adresse URL. Je m'explique un peu plus : le but est de vérifier la validité des URLs présentes dans la page de lien d'un site.

Merci pour vos réponses !

Frédéric (Frédéric)

mardi 14 novembre 2000 - 21h31
Bonjour,

pour cela il faut tenter de se connecter à chaque lien pour voir ce que répond le serveur (erreur 404, 500, ..)
Il y a 2 facons de le faire :
soit en créant soi meme les connexions au serveur HTTP en utilisant les sockets
soit un utilisant les modules perl prévus a cet effet.
Je vais vous donner un exemple en utilisant les modules perl (LWP et HTTP) :

#!/usr/bin/perl

require LWP::UserAgent;
require HTTP::Request;
# url a vérifier
$url = "http://www.scripts-fr.com/";

$etat = &check_url ($url);

if ($etat eq "ok")
{ print "Url ok : $etat";
}
else
{ print "$url KO : $etat";
}


sub check_url
{ my ($url);
my ($ua);
$url = $_[0];

# crée un user agent
$ua = new LWP::UserAgent;

# défini la signature du browser
$ua->agent("LinkChecker, Annuaire Scripts-fr (http://scripts-fr.com/)");
$ua->timeout(15);
$ua->max_size(300); # prends 300 bytes

# effectue la requete
$request = new HTTP::Request GET => $url;

$response = $ua->request($request);

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

Jean-Sébastien

mercredi 15 novembre 2000 - 17h41
Merci beaucoup pour votre aide.
Le script que vous m'avez donné correspond tout à fait à ce que je souhaite effectuer.

Encore merci pour votre aide !


Ajouter un message


Ceci est une zone publique. Si vous n'avez pas de compte, entrez votre nom dans le champ "Identificateur" et laissez le mot de passe vide. Votre adresse E-mail est facultative.
Identificateur :  
Mot de passe :
E-mail :
Poster "anonymement"