Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1504 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Recuperer un code source côté client .. :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recuperer un code source côté client .. :(

n°1966813
ganguill
Posté le 17-02-2010 à 11:55:28  profilanswer
 

Bonjour,
 
je tente actuellement de sauvegarder le contenu d'une page web dans un fichier. Le problème c'est que cette page est constituée de frames!
Par exemple, si je veux récupérer le nombre de caractères du code source de la page en question, mon programme ne me récupère que le nombre de caractères de la page d'accueil (ex: "http://www.bidule.com" au lieu de "http://www.bidule.com/machin/truc" )...
 
Il n'y a pourtant aucun problème pour voir le code source côté client (avec un clic-droit et "voir le code source" sous firefox je vois ça sans problèmes)!
Mais évidemment je ne veux pas le faire à la main, je voudrais que ça se fasse automatiquement..
 
Pour l'instant je passais par curl (php).. J'ai déjà essayé file_get_contents() aussi sans succès (cela ne retourne rien étant donné que le code source de ma page est "caché" côté serveur)..
 
Je souhaiterai donc:
- soit pouvoir récupérer le code source côté client (donc ce que me retourne "view-source:http://blablabla.." )
- soit pouvoir directement récupérer le code source d'une frame (mais là je ne vois vraiment pas :( )
 
Merci à tous de bien vouloir m'éclairer :s


Message édité par Elmoricq le 20-02-2010 à 03:02:19
mood
Publicité
Posté le 17-02-2010 à 11:55:28  profilanswer
 

n°1966839
tomsoft
Posté le 17-02-2010 à 12:22:44  profilanswer
 

ton script va recuperer le contenu de "http://www.bidule.com",
puis il va reconnaitre dedans une balise iframe,
il prendra le src de l'iframe, et recuperera le contenu de l'iframe

 

non ?


Message édité par tomsoft le 17-02-2010 à 12:22:56
n°1966852
ganguill
Posté le 17-02-2010 à 12:51:49  profilanswer
 

Ben non, parce qu'en fait je suis assez sceptique quant à l'existence d'une frame dans le code source... :/
En fait je ne vois pas de balises frame dans le code source de "http://www.bidule.com/machin/truc" (je ne cite volontairement pas l'adresse réelle), mais je suppose que la page "../machin/truc" est basée sur des frames car les fonctions file_get_contents() et curl ne me retournent rien (avec n'importe quelle autre url j'obtiens un code source, avec l'url souhaitée j'obtiens un joli "0" ) :'(

Message cité 1 fois
Message édité par ganguill le 17-02-2010 à 12:52:19
n°1966855
tomsoft
Posté le 17-02-2010 à 12:59:10  profilanswer
 

envois l'url, ya pas le choix si tu veut de l'aide

n°1966862
ganguill
Posté le 17-02-2010 à 13:08:58  profilanswer
 

Programme encore en construction, je ne peux dévoiler mes sources pour le moment :/ Ce que je sais c'est qu'il n'y a aucune balise frame dans ce que je vois à partir de firefox.. Je souhaiterai juste savoir s'il existe une fonction (de php par exemple) permettant la récupération d'un code source côté client..
 
Par exemple si je crée une page web contenant juste le mot "coucou" et que je tente de récupérer le code source avec file_get_contents (sous wamp par exemple), le résultat est 0.. donc impossible de récupérer directement un code d'une page exécutée localement..

n°1966864
tomsoft
Posté le 17-02-2010 à 13:11:35  profilanswer
 

et tu veut le code html rassures moi ? pas le php ?

n°1966869
ganguill
Posté le 17-02-2010 à 13:25:56  profilanswer
 

le html ^^ Je sais très bien que le php est caché :p

n°1966870
tomsoft
Posté le 17-02-2010 à 13:30:09  profilanswer
 

si via un navigateur, tu vois le source, via une fonction de type file() tu vois rien,  
 
je suis sur de rien ,je ne sais pas comment file() marche, mais peut-etre que le site que tu interoges filtre l'user agent, et te retourne 0 si ce n'est pas un navigateur qui lui demandes,  
donc vois si tu peut te faire passer par un firefox ou ie pour interoger le site ;)

n°1966871
deuspi
Posté le 17-02-2010 à 13:31:17  profilanswer
 

ganguill a écrit :

Ben non, parce qu'en fait je suis assez sceptique quant à l'existence d'une frame dans le code source... :/
En fait je ne vois pas de balises frame dans le code source de "http://www.bidule.com/machin/truc" (je ne cite volontairement pas l'adresse réelle), mais je suppose que la page "../machin/truc" est basée sur des frames car les fonctions file_get_contents() et curl ne me retournent rien (avec n'importe quelle autre url j'obtiens un code source, avec l'url souhaitée j'obtiens un joli "0" ) :'(


Salut
Quand tu fais clic-droit / Afficher la source, tu fais ton clic-droit dans une frame, donc il t'affiche la source de la frame (http://www.bidule.com/machin/truc)
En réalité si tu veux afficher la même source que ton programme il faut pas faire clic-droit / afficher la source
Il faut que tu passes par le menu "Affichage / Source de la page"
Et là tu verras bien qu'il y a des frames
Bon courage

n°1966876
ganguill
Posté le 17-02-2010 à 13:43:46  profilanswer
 

Tout d'abord merci à tous pour vos réponses :)
 
tomsoft : je vais voir ce que je peux trouver sur le sujet ;)
deuspi : Ben le code de la page en passant par le menu "Affichage/Source de la page" est identique à celui que j'obtenais avant..
La seule balise parlant de "frame" est un div..
(le voici: <div class="productFrame pfs freshout"> ) ... :(
Voilà pourquoi je doute qu'il y ait des frames..

mood
Publicité
Posté le 17-02-2010 à 13:43:46  profilanswer
 

n°1966877
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 17-02-2010 à 13:47:30  profilanswer
 

ya aussi autre chose, c'est peut-être du code inséré dynamiquement par AJAX/Javascript, auquel cas il n'est pas nativement dans la page, mais y est inséré seulement sur action de l'utilisateur ... Et pour récupérer ça ...:/


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1966878
deuspi
Posté le 17-02-2010 à 13:47:40  profilanswer
 

Sinon essaie de faire "clic-droit / Informations sur la page" et là tu peux voir l'URL réelle de ce que tu essaies de récupérer
Ensuite essaye de donner cette URL à ton programme pour voir ce que ça donne

n°1966883
olivthill
Posté le 17-02-2010 à 13:58:14  profilanswer
 

Sinon, faire une sauvegarde complète de la page (sous IE, menu "Fichier/Enregistrer sous.." ; sous Chrome, menu icone d'une page et "Save page as..." ou ctrl S) et voir le contenu sauvegardé. Normalement, la sauvegarde inclut les frames.


Message édité par olivthill le 17-02-2010 à 13:59:48
n°1966937
ganguill
Posté le 17-02-2010 à 15:51:48  profilanswer
 

Merci à tous :)
Je test ça ce soir et je vous tiens au courant des résultats ;)

n°1967007
ganguill
Posté le 17-02-2010 à 21:47:23  profilanswer
 

Bonsoir :)
Alors j'ai testé plusieurs choses, mais aucun résultat :/
 
- Le "clic-droit / Informations sur la page" ne me donne rien de bon (j'obtiens (URL): "http://www.bidule.com/machin/truc", et (URL de provenance): ""http://www.bidule.com/machin" .. Ca ne m'aide pas (que je passe l'une ou l'autre url dans mon programme j'obtiens toujours un beau 0 :/
 
- Pour l'enregistrement de la page j'y avais pensé.. J'ai donc créé un petit script sous curl qui m'enregistre la page dans un fichier.. Seulement même problème : le fichier ainsi créé est vide.. Le code source n'est donc pas disponible.. Si je tente de passer l'adresse "view-source:http://bidule.com/machin/truc" dans mon programme, je n'obtiens qu'un fichier vide également..
 
Le script fonctionne cependant! Si je tente avec "http://www.google.fr" ou même "http://www.bidule.com" ça marche..  
 
La seule solution resterait donc de trouver comment sauvegarder une page côté client (donc ce que je peux réellement voir manuellement) :(
 
 
 
J'ai fais des tas et des tas de recherches, mais rien du tout..  :(  Encore merci à tout ceux qui me passent un coup de main :)

n°1967008
tomsoft
Posté le 17-02-2010 à 21:50:14  profilanswer
 

t'es sous *nix ? wget de ta page ca fait quoi ?

n°1967011
ganguill
Posté le 17-02-2010 à 21:58:10  profilanswer
 

windows :s
wget c'est pas possible xD (je vais tenter d'installer le petit package necessaire pour faire fonctionner wget sous windows, on verra bien ce que ça donnera).. Parce que là je dois dire que je sèche complètement :'(

n°1967017
ganguill
Posté le 17-02-2010 à 22:31:40  profilanswer
 

Wget installé mais problème identique..
je tente un "wget http://www.blablabla.com/machin/truc" et ça me retourne un fichier .html contenant le code source de "http://www.blablabla.com"
 
:'(


Message édité par ganguill le 17-02-2010 à 22:33:09
n°1967018
ganguill
Posté le 17-02-2010 à 22:32:39  profilanswer
 

Oh mon dieu, bidule.com m'a l'air d'être un site douteux xD Je pense que je ne vais plus utiliser ceci ici :p (edit ^^)

n°1967104
ganguill
Posté le 18-02-2010 à 10:34:20  profilanswer
 

Up :)
J'ai un script javascript qui me retourne le code de la page (de la bonne page cette fois-ci :) )dans une frame!
Je peut sûrement parvenir à récupérer ce code dans un fichier non?
 
Je vous poste le code tout à l'heure (et bien sûr la solution si jamais je la trouve, ce qui pourrait être utile pour d'autres plus tard)
:)

n°1967600
dzing35
Posté le 19-02-2010 à 14:48:42  profilanswer
 

NewsletTux a écrit :

ya aussi autre chose, c'est peut-être du code inséré dynamiquement par AJAX/Javascript, auquel cas il n'est pas nativement dans la page, mais y est inséré seulement sur action de l'utilisateur ... Et pour récupérer ça ...:/


 
+1
Si bidule.com est un site généré par GWT, tu ne pourras avoir le source complet et pourtant pas de frames (tu peux essayer avec mon site perso).
Avec Firebug, on a le source complet mais je ne sais comment firebug fonctionne...


---------------
Fred => http://www.meance.free.fr
n°1967614
Ricco
Retour au pays
Posté le 19-02-2010 à 15:09:20  profilanswer
 

Bon sinon avec Firefox et l'extension web developper, y'a l'option "voir le code source généré" qui donne la source actuellement affichée à l'écran, même ce qui vient d'Ajax


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1967770
PunkRod
Digital Mohawk
Posté le 20-02-2010 à 00:59:52  profilanswer
 

firebug peut aussi monitorer les appels ajax, pour identifier les urls appelées si tu veut refaire des appels avec Curl
(sinon effectivement l'ext. web developper fait une excellente capture du code généré)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Recuperer un code source côté client .. :(

 

Sujets relatifs
Récupérer update XMLHttpRequestprogramme c pour entrer un code
Récupèrer le numèro d'un processus sous linuxrecuperer un parametre d'un form multipart
recuperer une police d une calculatriceExiste-t-il un script JS pour modifier le code source d'une page html?
[VBA] Récupérer le nombre de pages d'une feuilleExiste-t-il un logiciel pour analyser une source ?
recuperer le nb de frames d'un flv 
Plus de sujets relatifs à : Recuperer un code source côté client .. :(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR