|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
Bonsoir,
Je souhaites exécuter une page sans y être rediriger (et sans l'inclure). Je génère en fait une page dynamiquement avec des meta données bien précises qui attend d'être exécuter. J'ai essayé un tas de choses: curl, exec(), setsockopt(), file_get_contents et j'en passe... J'en suis à me demander si il ne faut pas multi-threader ! Si quelqu'un à l'astuce ça m’intéresse ! |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 244 ![]() |
Et la technologie "ajax" tu l'a envisagée ?
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 726 ![]() |
Salut
Regarde du coté des options de cURL : CURLOPT_FOLLOWLOCATION et CURLOPT_MAXREDIRS -> curl_setopt() Qu'est ce qui te gènes qu'il y ait une redirection ? Où se situe la page que tu appelles ? (dans ton site, même domaine ou est-ce sur un autre domaine). Est-ce que tu peux agir sur le code de cette page que tu appelles ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#4 | ||
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
AJAX ? je veux éxecuter la page je ne vois en quoi AJAX me serait utile pour faire ça, peux tu m'en dire plus ?
sinon j'ai essayé les options que tu me propose et ça ne passe pas, voici le code: Code :
Pour répondre à tes questions: 1] Je veux éxecuter plusieurs fois la même page dans une boucle mais elle aurra un contenu différent à chaque tour. 2]La page se situe sur mon serveur. 3]Oui, je la crée d'ailleurs. |
||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 726 ![]() |
Citation:
Du coup, faire un include() me semble adapté, suffit d'adapter cette page (ou traitements) selon ce que tu veux faire. Si cette page contient une redirection alors qu'on en veut pas, alors il ne faut pas faire de redirection. Ou alors il faut rajouter une info comme quoi il ne faut pas faire de redirection dans cette condition là. Du fait que cette page soit sur ton serveur, ce qui suppose que tu peux faire ce que tu veux la dedans, je ne vois pas où est la difficulté. Citation:
Ca peut être adapté selon se qu'on veut faire. La particularité c'est que le déclenchement se fait coté client, sans compter qu'on a le choix de le faire en mode synchrone ou asynchrone.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
La subtilité est que je ne veux pas "importer" le code source de la page que je veux exécuter dans la page de mon processus courant (ce que fait curl), donc pas d'include, la page doit rester "distante" car chaque page généré aura des méta données bien précises.
Je vais essayer avec AJAX. EDIT: J'ai essayé d'ajouter: Code :
|
||
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 726 ![]() |
Citation:
Avec un include() on fait 100% de ce qu'on veut à partir du moment où le fichier se trouve sur notre serveur. La limite est dans le serveur (php.ini, apache entre autre). Si au bout d'un traitement on veut que ce soit des méta données qui soient renvoyées, tel un XML, flux RSS, Webservice, etc ... (voir même un Pdf, une images, etc ...) on peu le faire avec un include. Avec un include on fait ce qu'on veut, et on renvoie ce qu'on veut, la dessus il faut être clair. Je dirais même que c'est nettement plus simple et plus performant que de le faire autrement, tel que Ajax, cURL, file_get_contents, SOAP, etc ... Vu que tu parles de méta données, c'est peut être un WebService (SOAP, REST). Donne un exemple, au besoin.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
J’aurais du être plus précis dès le début.
Je met en place un script pour utiliser openGraph (l'api facebook), et celui-ci crawl la page à son exécution, raison pour laquelle la page doit être "indépendante", si je fais un include dans mon controller, ca ne résout en rien ma problématique, à moins que je comprenne mal quelque chose... |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 726 ![]() |
Citation:
Je vois mieux, mais je n'aurais pas de solution car je ne connais pas cet Api (aucune de facebook d'ailleurs). A mon sens ça risque d'être difficile d'obtenir ce que tu veux, même via cURL, bien que normalement ça devrait l'être. Ca dépend à mon sens s'il faut une action de l'utilisateur par exemple. Regarde plutôt ce que propose Facebook coté Api, bien souvent il est proposé des codes à intégrer dans une page HTML, et à coté, ils donnent des codes pour que ce soit appelé via cURL par exemple (ou en Ajax) qui n'est autre qu'une requête HTTP. Ce genre de service ne fonctionnent pas bien souvent quant il manque des infos comme GET, POST, un cookie, maintient de la session, identifiant de l'Api facebook, etc ... que s'ais je. Le but c'est quoi d'ailleurs ? D'obtenir juste un retour de cet Api ou de l'intégralité de la page (du HTML) ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
Bonjour,
Le but est d’exécuter le code Javascript qui se trouve dans cette page (et qui est directement lié à sa composition). |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
tu veux exécuter le javascript avec PHP ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
Je veux appeler la page php (et donc que le scrpit js s'execute lors de l'éxecution de la page (tout comme lors du passage d'un utilisateur réel)).
|
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 726 ![]() |
Citation:
Enfin, en utilisant des solutions tels que cURL, file_get_contents, etc ... donc de manière distante. Il faut comprendre que, quand on exécute comme ça de manière distante, donc qui interroge une page (mapage.php) qui elle contient du HTML (et un bout de JS entre autre), le serveur va recevoir cette requête HTTP. Au bout le serveur va renvoyer du HTML (qui entre autre contient le code JS). Cependant, tout ceci se passe coté serveur, donc en aucun cas il pourra exécuter le code JS, car seul un "client" (navigateur) pourra le faire. Le fond du problème est là à mon sens. Il faut voir ce que propose cette API afin d'exécuter la requête HTTP quelle attend, car c'est cela qu'effectue cette partie de code JS dans cette page HTML, et c'est ce résultat là qui normalement importe le plus. Citation:
Si le code JS une fois exécuté par le client (je rappel) est prévu de parcourir le code de la page, c'est que cette API a besoin de récupérer certaine infos. En jetant un oeil (très très vite fait) elle attendrait des infos qui seraient dans des balises meta. Mais peu importe. Et bien il faudrait éplucher se que propose cette API de façon qu'il puisse avoir moyen d'exécuter une requête HTTP qui intègrerait les infos directement dans cette URL sous forme de paramètres. Genre : http://facebook.com?param1=valeur_de...aleur_de_meta2 (pure exemple). Grace à cela, l'API va pouvoir te renvoyer un contenu comme si elle était intégrée à une page (mapage.php) alors que ce n'est pas le cas, c'est une requête faite par cURL. Ensuite, à toi de faire ce que tu veux avec ces données obtenues. En conclusion, il ne faudrait pas appeler ta page mapage.php, mais faire une requête HTTP vers cette API facebook (avec les infos quelle attend, des infos liées à mapage.php). Personnellement je ne vois pas d'autres manières de faire.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#14 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
Citation:
quel est l’intérêt de la chose ? encore pomper des données sur un site ?
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#15 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
J'explique tout ça juste au dessus (non).
Je vais me renseigner voir si il est possible de s'y prendre autrement. Merci |
|
|
00
|
|
|
#16 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
ta pas besoin de ça pour faire de l'OpenGraph
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#17 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
Dans mon cas je pense que si, concrétement, après la validation d'un panier, je veux ajouter une action par élément du panier, prenons l'exemple suivant:
Panier de l'utilisateur 1 chaise 1 table 1 chat Je vais avoir une boucle sur les éléments respectant le schéma suivant: foreach ($articles as $article) { je crée un fichier tampon (fopen). Je le remplis avec les meta données de l'objet chaise (fwrite). Je l'exécute (aucune solution). Je l'efface } Si tu vois un autre moyen (dynamique), je suis preneur ! Merci. |
|
|
00
|
|
|
#18 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
c'est quoi le rapport entre un panier de tables et de chaises et Facebook ?
explique mieux ton affaire par que la y'a beaucoup chose différente
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#19 | |||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 726 ![]() |
Citation:
On ne comprend plus trop grand chose. Citation:
Citation:
Quelles méta données ? D'où viennent elles, et sous quelles formes ? Est tu certains de faire les bons choix pour mettre en place ce site e-commerce ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|||
|
|
00
|
|
|
#20 |
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
Le chat vient en guise d'exemple d'un article, ceci est un cas pratique, je ne vends ni table, ni chaise, ni chat.
Pourquoi ne pas mettre ces données dans une bdd ? Parceque opengraph vient crawler les balises <meta> de la page en question, ça ne servirait donc à rien. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com