Discussion:
Verifier une URL
(trop ancien pour répondre)
Geoffroy Hecquet
2007-02-02 11:36:25 UTC
Permalink
Bonjour,

J'utilise cette petit fonction pour vérifier si une URL est valide
(vérifier si on ne tombe pas sur une page "404 Not found").

function Verif_URL($adresse) {

$url = fsockopen($adresse, 80);
if(!$url) return false;
else fclose($url);
return true;
}

Seulement voilà, avec une url du genre "www.google.fr" elle me revoie
TRUE (bonne url). Jusque là tout va bien. Par contre avec un slash au
bout (www.google.fr/) ou en faisant appel à un fichier précis
(http://www.lesmetiers.net/index.html) elle me revoie FALSE (alors que
ces url sont tout à fait correctes).

Des idées ?
Merci

Geoffroy
Olivier Miakinen
2007-02-02 11:57:49 UTC
Permalink
J'utilise [fsockopen] pour vérifier si une URL est valide
[...]
Seulement voilà, avec une url du genre "www.google.fr" elle me revoie
TRUE (bonne url). Jusque là tout va bien. Par contre avec un slash au
bout (www.google.fr/) ou en faisant appel à un fichier précis
(http://www.lesmetiers.net/index.html) elle me revoie FALSE (alors que
ces url sont tout à fait correctes).
Des idées ?
La première idée qui me vient en cas de problème est toujours de relire
la doc : http://fr.php.net/fsockopen

<cit.>
Si l'appel échoue, fsockopen() retourne FALSE, et si les options errno
et errstr ont été fournies, elles contiennent désormais les raisons de
l'échec.
</cit.>

Que valent errno et errstr ?
Geoffroy Hecquet
2007-02-02 14:55:45 UTC
Permalink
Post by Olivier Miakinen
La première idée qui me vient en cas de problème est toujours de relire
la doc : http://fr.php.net/fsockopen
<cit.>
Si l'appel échoue, fsockopen() retourne FALSE, et si les options errno
et errstr ont été fournies, elles contiennent désormais les raisons de
l'échec.
</cit.>
Que valent errno et errstr ?
errno=2
errstr=file not found

J'ai été voir la doc et (sans réelle explication) je m'aperçois que la
fonction n'accepte qu'un nom d'hôte sans chemin.
Par contre, j'ai trouvé dans cette même doc sur cette même fonction un
code pour palier mon problème.

Merci.
Thierry
2007-02-02 14:55:45 UTC
Permalink
Post by Geoffroy Hecquet
Seulement voilà, avec une url du genre "www.google.fr" elle me revoie
C'est pas une URL mais une adresse DNS.

Pour tester les URL : fopen avec le bon flag activé dans le PHP.ini
Olivier Miakinen
2007-02-02 16:05:45 UTC
Permalink
Post by Thierry
Post by Geoffroy Hecquet
Seulement voilà, avec une url du genre "www.google.fr" elle me revoie
C'est pas une URL mais une adresse DNS.
Au temps pour moi : j'ai renvoyé un pointeur sur la doc, mais il
apparaît clairement que je ne l'ai pas lue non plus en entier.
;-)

Continuer la lecture sur narkive:
Loading...