Lire la source d'une URI

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4830
Inscription: 3 Fév 2004

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: 4830
Inscription: 3 Fév 2004

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 discret
WRInaute discret
 
Messages: 217
Inscription: 20 Fév 2003

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: 20 Mar 2004

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: 4830
Inscription: 3 Fév 2004

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 discret
WRInaute discret
 
Messages: 217
Inscription: 20 Fév 2003

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 passionné
WRInaute passionné
 
Messages: 1063
Inscription: 6 Sep 2003

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: 4830
Inscription: 3 Fév 2004

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
Nouveau WRInaute
 
Messages: 6
Inscription: 22 Mar 2005

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);
}
?>


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 les experts Google Analytics de Ranking Metrics.

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 1 invité