Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Verifier une URL

4 réponses
Avatar
Geoffroy Hecquet
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

4 réponses

Avatar
Olivier Miakinen

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 ?

Avatar
Thierry
"Geoffroy Hecquet" a écrit dans le message de news:

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

Avatar
Geoffroy Hecquet
In article (Dans l'article) <45c322ea$,
Olivier Miakinen <om+ wrote (écrivait) :

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.

Avatar
Olivier Miakinen

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.
;-)