Lire la source d'une URI

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

milkiway
WRInaute accro
WRInaute accro
 
Messages: 2216
Inscription: Mar Fév 03, 2004 3:00

Lire la source d'une URI

Message le Mar Mai 25, 2004 17:57

Hello,
je suis en train de dev un script qui a besoin de lire le code source des pages HTML.
Pour l'instant je fais un formulaire où il faut copier/coller le code source de la page en question mais je préfèrerais que l'on puisse entrer son URL et que ça analyse la source.

Comment faire ? Exemple : http://validator.w3.org/ dans "Validate by URL"

Merci à tous

milkiway
WRInaute accro
WRInaute accro
 
Messages: 2216
Inscription: Mar Fév 03, 2004 3:00

Message le Mar Mai 25, 2004 18:26

humm je crois que je peux faire ça avec fopen je vais tester mais si vous avez des autres idées...


Ben
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 209
Inscription: Jeu Fév 20, 2003 20:30

Message le Mar Mai 25, 2004 19:09

tu peux le faire avec fopen ( -http://ca2.php.net/fopen ) a condition que la directive la directive allow_url_fopen soit activee sur le serveur. Personellement j'utilise parfois la librairie snoopy (-http://sourceforge.net/projects/snoopy/ ) , qui gere les redirection, le user-agent, etc...

Ben


textalyser
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: Sam Mar 20, 2004 16:35

Message le Mar Mai 25, 2004 19:09

Salut

Code: Tout sélectionner
$texte_brut=file_get_contents($URL);

attention, les balises sont encore présentes à ce moment

milkiway
WRInaute accro
WRInaute accro
 
Messages: 2216
Inscription: Mar Fév 03, 2004 3:00

Message le Mer Mai 26, 2004 11:56

@ben : j'ai trouvé avec fopen et fread par contre je ne vois pas à quoii sert Snoopy, tu peux m'en dire plus stp ?
sinon j'ai un "problème" : avec fread il faut indiquer la taille à lire (en octet), sur un fichier local on fait filesize($file) et c'est bon mais filesize ne marche pas sur un distant, comment faire ?

@textalyser : ok je vais essayer pour voir si ça marche mieux, justement il me faut les balises ;)


Ben
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 209
Inscription: Jeu Fév 20, 2003 20:30

Message le Mer Mai 26, 2004 14:22

L'interet de Snoopy c'est qu'il permet les connexions ssl, le chargement automatique du contenu des frames, de passer les parametres des requetes http (referer, cookies, user-agent, ...), de suivre automatiquement les redirections, de soumettre des formulaires ect...

Il permet aussi de filtrer les tags html, et de lister tous les liens d'une page si ma memoire est bonne. Tu peux faire tout cela toi même avec fread, mais puisque quelqu'un a deja pris la peine de le faire, autant en profiter...

C'est a toi de voir si tu as besoin de ces fonctionnalités ou pas. Suivant le cas, file_get_contents ou fopen peuvent etre suffisants.

Ben


Remi L.
WRInaute accro
WRInaute accro
 
Messages: 1062
Inscription: Sam Sep 06, 2003 16:23

Message le Mer Mai 26, 2004 14:56

milkiway a écrit:avec fread il faut indiquer la taille à lire (en octet), sur un fichier local on fait filesize($file) et c'est bon mais filesize ne marche pas sur un distant, comment faire ?

Tu lis par bloc jusqu'à avoir une fin de fichier
du style :
while (!feof($file_id)) fread ou fgets... etc...

milkiway
WRInaute accro
WRInaute accro
 
Messages: 2216
Inscription: Mar Fév 03, 2004 3:00

Message le Mer Mai 26, 2004 23:04

@Ben ok merci pour l'explication claire ;)

@Remi pas bête du tout je vais tester ça, merci !

jdelprat2000
Nouveau WRInaute
 
Messages: 6
Inscription: Mar Mar 22, 2005 17:20

Lire la source d'une page httpS

Message le Mar Oct 31, 2006 17:54

Bonjoru à tous,


je suis en train de m'arracher les cheveux. J'utilise depuis longtemps la fonction fopen pour lire le code source de page en http://. Par contre, je suis incapable d'utiliser la même fonction avec des page en https:// SSL.

Pour info, l'extension OPENSSL est bien active sur mon EASYPHP.

AUUUU SSSEECCCOOOURS !! et merci d'avance, Julien

Pour info, le code utilisé est:
<?php
$fp = fopen("https://www.vopen.com","r");
if (!$fp) {
echo "Erreur";
} else {
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités