Récupérer les headers HTTP

15 réponses
AuteurMessage

erwinol |
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 16/03/2011 à 20:17

Bonjour à tous !

FireFox me permet de récupérer les entêtes HTTP d'une page externe.
J'aimerais récupérer ces headers via un script PHP.

Je remarque que wget me permet de récupérer les entêtes à l'aide de l'option -S :

Ouvrir dans une nouvelle fenetre

Mais il ne me renvoie que l'entête HTTP classique.

Alors que mon extension Firefox m'en sort plusieurs pages avec notamment les images, les fichiers js et beaucoup d'autres choses.

Comment obtenir ces informations dynamiquement ?
Est-ce possible ?

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 16/03/2011 à 20:54

A priori, il n'y a pas de méthode simple dans la mesure où il s'agit de requêtes faites par Firefox.
Il aurait fallu que wget ou curl interprète la source pour faire les requêtes supplémentaires.

N'existe t'il pas une solution couplée à un interpréteur ?
On peut rêver ;)

PyRoFlo | Florent
Modérateur

Photo de PyRoFlo

Inscrit le : 09/05/2005

# Le 16/03/2011 à 20:56

cURL ?

Exemple : http://oseox.fr/curl/lire-entetes-http.htmlOuvrir dans une nouvelle fenetre

Pour récupérer les headers des fichiers tiers appelés par la page, je ne vois pas de solution toute faite.
Essaye : http://simplehtmldom.sourceforge.net/Ouvrir dans une nouvelle fenetre

Feu d'artifice ParisOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 16/03/2011 à 21:06

Merci pour ta réponse.

Malheureusement cURL donne un résultat similaire à wget sauf si j'utilise la constante CURLINFO_HEADER_OUT qui me donne davantage d'infos mais pas celle recherchée.

Concernant Simple HTML Dom, je l'utilise abondamment dans le projet en question et il m'est d'une grande utilité mais il ne permet que de parser la page. Il n'interprète rien et ne permet pas de faire des requêtes externes pour lire des entêtes.

PyRoFlo | Florent
Modérateur

Photo de PyRoFlo

Inscrit le : 09/05/2005

# Le 17/03/2011 à 02:55

A propos de Simple HTML Dom je voulais dire que grâce à cette libraire tu pouvais récupérer les URL des fichiers externes contenus dans ta page HTML cible.

Par contre si cURL ne te donne pas les infos que tu veux, je vois pas trop quoi te proposer d'autres :/

Tu veux quelles infos précisément ?

Feu d'artifice ParisOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 17/03/2011 à 08:38

Le problème c'est que l'élément n'est pas dans la source, il est généré dynamiquement en javascript.

Pour être totalement honnête, il s'agit de récupérer le captcha de ce type de page :
http://www.rechercher.fr/webmaster-login.htmlOuvrir dans une nouvelle fenetre

La résolution du captcha n'est pas un problème, je coince juste sur la récupération de l'image.
Quelqu'un a une idée ? Bool ? :p

Je veux bien donner la fonction de résolution à celui qui me donnera une piste pour récupérer dynamiquement l'URL de cette image.

Merci d'avance.

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 17/03/2011 à 09:13

euh... là, ça ne me semble pas évident. Solutions à la con, en vrac :
*) tu fais afficher la page automagiquement à un Firefox ou équivalent (tout comme on fait pour avoir le screenshot d'un site), et tu sniffes ce qui passe sur le réseau
*) Firefox & Chromium sont opensource, tout comme des projets plus "light" (midori ?), tu modifies directement leur code pour tracer ce dont tu as besoin
*) plutôt que de sniffer ou modifier le bousin, tu lui configures un proxy, et tu t'arranges pour que ce soit ce proxy qui trace. Là encore, soit tu trouves un soft qui a l'option magique, soit tu fais un dev maison, soit tu patchs un petit proxy (Polipo ?).
*) modifier LiveHTTPHeaders ou Firebug pour qu'ils tracent dans un fichier, et soient actifs par défaut

bref, bon courage

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 17/03/2011 à 09:50

Ok c'est mort quoi ^^

allogarage | Nicolas
Modérateur

Photo de allogarage

Inscrit le : 14/10/2008

# Le 17/03/2011 à 09:51

Bonjour,

J'ai peut etre rien compris mais si tu récupères en POSt le résultat de cette requête : http://www.rechercher.fr/captcha/showOuvrir dans une nouvelle fenetre
Le source de l'image est inclus non?

Guide comparatif des garages automobilesOuvrir dans une nouvelle fenetre | Guide comparatif des garages motoOuvrir dans une nouvelle fenetre | Annuaire auto motoOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 17/03/2011 à 10:13

J'ai analysé le code du script comme un allumé pour trouver la faille et je n'ai même pas pensé à aller voir dans /captcha/show alors qu'il est clairement indiqué dans le JS ^^

Merci pour la piste, je vais voir où ça me mène.

kigenaou | Paul
Membre

 

Inscrit le : 09/05/2005

# Le 21/03/2011 à 15:20

tu cherche à faire quoi, désolé, je ne comprends pas bien le but de ta requete ...

Page à page, il existes des plugins firefox qui font ça (httpliveheader, webdevelloper ...).

Pour faire du plus "massif" (tout un site par exemple) :
en simple, tu a wget, avec les options de mirroring qui devrait pouvoir sniffer tout un site et stocker les headers dans un coin (j'imagine, je ne l'ai jamais fait).

Ou des solutions comme Xenu / ou seo toolkit de microsoft qui raméne tout un site et chope (je pense) les headers.
mnogosearch qui est un moteur de recherche open source doit faire de même (mnogosearch.org), en stockant dans une base les données liées à chaque page.

Pour ma part, j'ai devellopé un outils "perso" avec Perl qui aspire un site et releve ce type d'informations (quelles headers sur quel pages).

On trovue des librairies en php ("lib php crawler" sur Google devrait te donner quelques pistes) qui te permettrons d'obtenir une première brique.

hope this help

fbparis | Francois
Membre

Photo de fbparis

Inscrit le : 13/12/2009

# Le 23/03/2011 à 06:38

Je ne vois pas où est la difficulté.. Tu fais d'abord ta requête de base pour récupérer le source de la page, tu enregistres les headers. Ensuite pour récupérer les autres headers (images, scripts externes etc) il faut d'abord récupérer dans le source tous ces éléments, via une regex par exemple, et faire autant de requêtes que nécessaire (c'est ce que font tes extensions si en plus tu désactives complètement le cache de firefox).

TwitterOuvrir dans une nouvelle fenetre - TumblrOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 23/03/2011 à 07:59

Le soucis ici visiblement était de chopper des URL générées à la volée en JS... ce qui impose d'avoir un interpréteur JS dans le "robot".
Chose qui a maintenant été contournée par le fait que l'URL générée en JS est "fixe"

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 23/03/2011 à 08:45

fbparis : Tu ne vois pas où est la difficulté car tu n'as pas essayé de résoudre le problème. Ta solution ne marche bien évidemment pas. Il aurait fallu que j'accède à la "source générée", ce qui nécessite un interpréteur JS.

Ceci dit, le problème est résolu avec l'aide de allogarage qui a vu ce que mes œillères m'empêchaient de voir ^^

Merci à tous pour vos idées ... même Bool qui délire complètement

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 23/03/2011 à 09:18

je vois pas de quoi tu parles

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

allogarage | Nicolas
Modérateur

Photo de allogarage

Inscrit le : 14/10/2008

# Le 23/03/2011 à 09:49

eh eh pour une fois que je sers à quelque chose
(C'est sympa certains de répondre mais vous n'avez pas lu toute la question à mon avis)

Guide comparatif des garages automobilesOuvrir dans une nouvelle fenetre | Guide comparatif des garages motoOuvrir dans une nouvelle fenetre | Annuaire auto motoOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 23/11/2024 18:00:22 | Généré en 6.66ms | Contacts | Mentions légales |