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 :

Impossible de récupérer un contenu chargé en AJAX avec cURL.


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Points : 0
    Points
    0
    Par défaut Impossible de récupérer un contenu chargé en AJAX avec cURL.
    Bonjour,

    Je rencontre un problème lors de la récupération d'un contenu d'une page web en utilisant la bibliothèque cURL en PHP.

    J'utilise cette fonction pour faire la chose:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function get_data($pageURL) {
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, $pageURL);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    	curl_setopt($ch, CURLOPT_USERAGENT, 'Titre');
    	return $resultat = curl_exec($ch);
    	curl_close($ch);
    }
    Je récupère toutes les données de la page sauf un contenu chargé en AJAX dans un conteneur "<div></div>" après chargement de la page (onload).

    Est ce que c'est normal que cURL ne charge pas un contenu chargé en AJAX ou bien c'est une erreur dans la fonction get_data() ?

    Merci de vos réponses !

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Hola,

    Curl effectue une requête sur le serveur, il semble logique que le code javascript qui lance l'appel AJAX depuis un client ne soit pas exécuté.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    Merci.

    Est ce qu'il y a un moyen pour sauvegarder en local le code source généré d'une page ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Alors déjà, il y a quelques maladresses dans ton code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $resultat = curl_exec($ch);
    A quoi peut donc bien servir d'affecter une valeur dans une variable au moment du return ?
    Certes, l'affectation va se faire, mais puisqu'il s'agit d'un return, tu ne pourras jamais utiliser cette variable... c'est donc particulièrement inutile !

    A quoi peut bien servir de mettre des instructions après un return ?
    Pour rappel, return a pour effet de faire stopper l'exécution de la fonction, donc aucun code placé après ne pourra jamais être exécuté !

    sauvegarder en local le code source généré
    Je comprends pas trop...
    Tu sais effectuer une requête avec cURL, mais tu ne sais pas sauvegarder une donnée dans un fichier ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    En complément de ce que te répond Didier, je saute sur l'occasion pour rappeler que justement par définition, seul la page de base est visible et immuable, justement AJAX permet de parcourir tout un site dans un index.php si j'exagères !

    Remarque que tu peux trouver abstraite, mais que je te conseilles de contrôler une fois au moins si tu as un navigateur puissant en opérant ainsi:
    1) va sur une page AJAX, et fait la évoluer. Alors clic-droit et demandes afficher le code, tu ne verra que l'ossature de l'index.php !
    2) au même endroit, clic droit et demandes inspecter l'élément, tu verras l'élément réellement présent de ta page, y compris son style associé !

    Voila pourquoi tu aura toujours ce problème avec un CURL !

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Complètement d'accord avec toi christele_r mais n'y a t'il pas un moyen de récupérer justement ce que l'on a quand on fait inspecter élément? Par ce que je pense que c'est ça que veut Yzaou (et moi par la même occasion).

    Merci.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Oui oui on peut bien sur, mais pas par programme !

Discussions similaires

  1. FILEZILLA : impossible de récupérer le contenu du dossier
    Par ickyknox dans le forum Hébergement
    Réponses: 2
    Dernier message: 23/04/2013, 18h27
  2. [AJAX] Contenu chargé en AJAX
    Par kev484 dans le forum jQuery
    Réponses: 3
    Dernier message: 31/01/2013, 14h12
  3. [TinyMCE] Impossible de récupérer le contenu textarea
    Par nzangel dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 20/09/2012, 08h18
  4. Réponses: 3
    Dernier message: 28/07/2012, 19h30
  5. Réponses: 2
    Dernier message: 04/02/2009, 12h13

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