IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer le code de réponse HTTP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 14
    Points
    14
    Par défaut Récupérer le code de réponse HTTP
    Bonjour, je souhaiterais tester une url avec la fonction fopen en php. Celle ci marche pour les liens morts et les liens corrects mais elle ne me renvoie pas d'erreurs pour les url qui sont redirigé...

    Exemple : http://www.monsite.com/news.php -> lien mort -> redirection vers http://www.monsite.com

    Je voudrais que fopen me detecte ce lien comme un lien mort mais je ne vois pas comment faire...


    Merci !!

  2. #2
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut !

    Tu peux utiliser l'extension cURL qui te permet entre autres de vérifier l'existence d'une url.

    A++

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    Merci pour la réponse !!

    Mais ca ne marche pas... Ca donne le même résultat que la fonction fopen

    Voici le lien que j'aimerais qu'on me dise qu'il est mort :

    http://www.mustoffer.com/achat-mater...cont40-209.htm


    mais quand on va dessus il redirige vers la page d'accueil... donc il n'est pas vraiment mort

    Y a -t- il un moyen de tester ce genre de lien ?

    Merci

    EDIT : A moins que ce soit une option de l'extension ?

  4. #4
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Oui,
    tu peux modifier la fonction proposée afin qu'elle te retourne le code HTTP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function http_check_url($url, $timeout = 10)
    {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_NOBODY, TRUE);
        if (strpos($url, 'https://') === 0) {
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // On ne vérifie que l'existence de la page
        }
        if (!curl_exec($ch)) {
            return FALSE;
        }
        $ret = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
     
        return($ret);
        //return in_array($ret, array(200, 301, 302));
    }
    Si $ret == 301 alors c'est une redirection.
    A++

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    ok merci beaucoup !! ca marche nickel !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le code d'une page HTTPs
    Par zebulon88 dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 31/03/2009, 23h41
  2. Changer le code réponse http.
    Par peijnoob dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/01/2008, 14h35
  3. [commande DOS] Récupérer le code retour d'un programme
    Par bobunny dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 04/06/2004, 15h51
  4. [Oracle][ADO_QRY] Récupérer le code d'erreur
    Par Cryonie dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2004, 13h18
  5. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo