[PHP] récupérer le code source d'une page web

Résolu/Fermé
MAMBOOO - 9 juin 2006 à 12:27
 darkkiller77 - 26 nov. 2014 à 14:21
salut ,

je essayer de récupérer le code source d'une page web à partir de son URL.

j'ai un code qui le fait avec Java mais j'ai besion en PHP .....
voila le code en java et si qlq peut me l'envoyer en PHP.......Merci

--------------------------------------------------------------------
public static String getIpFrom(String adresse) {
String toreturn = null;
try {
// creation d'un objet URL
URL url = new URL(adresse);
// on etablie une connection a cette url
URLConnection uc = url.openConnection();
// on y cree un flux de lecture
InputStream in = uc.getInputStream();
// on lit le premier bit
int c = in.read();
// on cree un StringBuilder pour par la suite y ajouter tout les bit lus
StringBuilder build = new StringBuilder();
// tant que c n'est pas egale au bit indiquant la fin d'un flux...
while (c != -1) {
build.append((char) c);
// ...on l'ajoute dasn le StringBuilder...
c = in.read();
// ...on lit le suivant
}
// on retourne le code de la page
toreturn = build.toString();

} catch (MalformedURLException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}
return toreturn;
}
----------------------------------------------------------------------
A voir également:

28 réponses

Vincent Blouin
12 juin 2007 à 03:22
Essai ça :


<?php

$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://www.commentcamarche.net');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);

// display file line by line
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}

?>

C'est également un remplaçant de fopen pour les serveurs qui n'autorise pas cette fonction.

J'ai pris cette information de :

http://wiki.dreamhost.com/CURL#Getting_binary_data
47
<?
echo $strResult = implode("",file("http://www.monsite.com"));
?>
0
bonjour,

j'ai utilisé le code que tu as mis

<?php

$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://www.commentcamarche.net');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);

// display file line by line
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}

et le résultat me met que la session a expiré et du coup je ne recupere pas le code html de ma page

merci de ton aide
0
rafmos Messages postés 161 Date d'inscription jeudi 13 octobre 2005 Statut Membre Dernière intervention 12 août 2010 24 > HtML
6 août 2009 à 09:31
Merci beaucoup ! C'est exactement ce que je cherchais !!
0
bonjour,
je veut RECUPERER LE CODE HTML D'UNE PAGE WEB dans un tableau en utilisant le langage JAVA, si t a un code qui permet de le faire envoye le moi,stp.
merci d'avance.
0
Bonjour, voici une ébauche en JAVA qui fonctionne à peu près :
import java.net.*;
import java.io.*;

public class Client{
	public static void main (String args[]) throws SocketException, IOException,
	UnknownHostException{
		URL u = new URL ("http://tim.gau.free.fr/");
		byte[] pl = new byte[3000];

		DataInputStream br = new DataInputStream((InputStream)u.getContent ());
		for (int i = 0 ; i<1000 ; i++)
			System.out.println (br.readLine());
	}
}$


Donc bien sur dans URL tu rentre l'URL que tu veux….
0
Même quelques mois après, je n'arrive toujours pas à comprendre qu'il y ait 5 (!) hors sujet !

Vous ne lisez pas ou quoi ?
J'ai compris dès le départ qu'il savait faire une certaine chose en Java et se demandait comment faire pareil en PHP.

Alors, apprenti-hackeurs (failles de sécurité et bla bla bla, j'aimerais bien que vous me donniez des exemples d'hébergeurs, alors. Si vous croyez que c'est si simple que ça, qu'il suffit d'avoir un site sur le même hébergeur et hop on récupère tous les fichiers des autres...)


Voilà, c'était mon coup de gueule pour les gens qui en prennent pas la peine de lire complètement et consciemment avant de répondre (à toute vitesse et avec plein de fotes).
15
Pourtant ce que les gars disent et plutot correctes , et on peut hacker tout un hebergeur depuis un host (le monde et un peu grand) et j'ai deja hacké pas mal .
0
hello
a freebourg pour qq qui critique les autres fotes secrit comme ca "fautes" ...
0
je panCe Ke cétais faih exepré sisi
0
Bonjour,

J'ai un gros souci, j'ai créer un site internet, je suis passée par un webdesigner (une petite boite). Ils ont pris plein de retard et on fait tellement d'erreur qu'au bout de 2 ans le site ne marche toujours pas super bien. Pire, dans le contrat ils avait inclus une prestation de référencement naturel comme quoi que je paie une certaine somme à chaque fois que j'apparais sur la premiere page de google. Et selon eux ça allait me coûtait casiment rien. Bref, escro comme ils sont j'ai vit vu qu'apparaitre sur la première page d'un mot clé qui n'a pas de traffic ça sert à rien saut à se ruiner. J'ai tenté de casser ce contrat de référencement car j'ai déjà fini de payer mon site mais l'entreprise étant en situation difficile retient de force ses clients. Il ne veulent donc pas me donner mes codes sources pour que j'aille ailleurs. Je cherche du coup quelqu'un qui pourrait reprendre les codes sources de mon site chez le webmaster.
0
julius armoricanus
9 oct. 2011 à 00:01
Bonsoir,
Ton site est en ligne sur internet? Si oui aurais-tu l'URL pour voir si on peut faire quelque chose...
0
Salut

Pour récupérer un code source en PHP, voici quelques solutions possibles (mais d'autres existent également) :
- file_get_content
- fopen
14
j'ai testé file_get_content mais le truc c'est que sa n'affiche pas le code php d'une page.
Il affiche simplement la page page.php
Tu aurais une solution
0
Ou est le foyer de base ?
0
maybe it can help

<?php

$url="https://www.google.fr/?gws_rd=ssl";

$nom_fichier="google.html" ;


$code_html=file_get_contents($url);


file_put_contents($nom_fichier,$code_html);
?>
12

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le but dans sa question ne serait-elle pas plutôt de chercher le code source d'une page via son URL ???

Pas le PHP de la page, juste le HTML.

Mais avec une fonction PHP qui permettrai grâce à l'URL de récupérer le code source visible d'une page HTML.


Je penses que c'est ça la question, car je cherche la même chose et qu'au bout d'un certain temps sur une page en php, le code php tu peux commencer à le deviner.
7
cammas françois
31 déc. 2011 à 10:46
file_get_contents()
0
Utilisateur anonyme
20 oct. 2006 à 23:01
j'ai pas dit ca, j'ai dique c'était le seulmoyenou bien peutetre avec un aspireur de sitemaisje nesais pas trop comment ca fonctionne
5
Utilisateur anonyme
15 juin 2007 à 21:39
je te déconseille de faire ca car c'est aps sympa pour le webmaster

moi j'aimerai pas qu'on pique le code source des mes pages sans mon accord

c'est juste une question de principe...
5
Bonjour...

On ne peut absolument pas récupérer le code source d'un fichier php!

Le fichier php auto-génère un fichier html avec du contenu qui est affiché par le navigateur!

En faisant toutes les tentatives possibles, vous ne parviendrez jamais à obtenir un code source PHP, mais juste un code source de la page auto-générée en HTML (sans les $ et sans les fonctions...).....

FIN!
5
Le créateur du sujet veut effectivement le code compilé html, c'est évident qu'on ne peut récupérer le code source non compilé par le serveur.
0
A bon et d'ou tu tiens ces connerie? légalement ok... mais tu sait les vulnérabilité sa existe, donc toute les tentative je n'irais pas jusqu'à dire sa.
0
Vincent Blouin: Super ton code. Il marche nickel merci.

Pour ceux tournant sous ubuntu et passant par la, il faut installer le packet php-curl.

Lapinkiller: On peut recupérer le code de certains sites pour organiser les infos qui nous interresse et les stocker tous sur une même page, pas necessairement pour repomper le code. Les aspirateurs de site sont plus efficace, plus rapides et plus simple d'utilisation.
3
Pour ce qui du java, c'est un langage compilé puis que il utilse son propre environnement pour fonctionner. C'est un langage "objet" donc difficilement imitable à partir de php html et autres. Lorsque on utilise un objet en fait des dizaines de lignes de code sont exécuter et ce sont celles-ci qu'il faudrait pour les transcrire en php ou autres. Conclusion : c'est dur.
3
queryz Messages postés 102 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 9 décembre 2010 10
14 oct. 2010 à 01:24
bonjour j'ai essayer ceci :

<?php

$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://www.bricodepot.fr/maubeuge/');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);

// display file line by line
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}

?>


Je n'obtiens aucun résultats

Comment cela se fait t'il ? merci
3
switch01 Messages postés 53 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 9 juillet 2008 58
1 juil. 2008 à 12:16
euuuh freebourg ... si j'ai dis ça c'est parce que je l'ai déjà fait sur un hébergeur gratuit en aidant des webmasters à enlever ces failles... ce n'est pas être apprenti hacker ou je ne sais quoi que de dire ça, car les "hacker" dont tu aimes visiblement si bien parler, ne sont pas les seuls à connaitre des "failles de sécurité"... car les grosses failles, comme c'est le cas quelques fois, sont très fréquentes quand les hébergeurs ont trop de sites à gérer par rapport au nombre d'employés. De plus, tout programmeur doit connaitre des failles pour protéger son propre site... alors maintenant avant de parler, renseigne toi !

Pour expliquer le principe, c'est un problème de droits d'utilisateurs mal géré sous unix :
Tout les scripts de tout les sites de cet hebergeur ayant le même groupe, et les droits étant mal géré, c'est tout e groupe possesseur qui peut accéder en lecture au site qu'il souhaite du temps qu'il a un compte sur le même serveur.
il peut donc récupérer les identifiants mysql et modifier comme il veux la bdd a partir de son propre script.

De plus, pour ce qui est des exemples, n'y compte pas trop car qui nous dit que tu es qui tu prétend être ?
Enfin, pour conclure, je n'ai pas 36000 exemples, mais je n'en connais qu'un... (mais bon ça existe donc quand même ...=))
1
switch01 Messages postés 53 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 9 juillet 2008 58
26 avril 2007 à 16:38
pour avoir le code php d'une page web c'est tout simplement impossible ... c'est un des avantages du php mais apres chez certains hebergeurs il y a des failles grosses comme un elephant donc tu t'inscris chez le meme hebergeur que celui qui possede le code que tu veux et apres tu vois ce que tu peux faire ...
0
henrihardrock
21 mai 2010 à 19:17
Tu venais de dire qu en informatique, rien n' était impossible...
0
alliance_camfrog
20 avril 2008 à 10:51
Bonjour je vien de trouver cette discution interressante je cherche moi aussi un moyen de recuperer des info d une page web via le php pour ensuite l afficher sur une page web de mon site
je voudrai recuperer quelque info sur cette page web en enlevan tout le superflu et l afficher sur une page web le tout allignier et avec un refresh de 30 sec
je voudrai garder que les info de cette page http://videochat.camfrog.com/room-dir/ALLIANCE_CAMFROG
| status | nickname | age | sex | location |
| | | | | |

en sachan que le non ALLIANCE_CAMFROG
peu changer
c est pour un projet de site web si quelqu un pourrai m aider merci d avance
pour me contacter envoyer moi un email si possible Alliance_Camfrog@live.fr encore merci d avance a tous
0
alliance_camfrog
20 avril 2008 à 10:54
test
0
Je sais que ça fait un moment, mais si ça peut aider :
D'abord récupérer le html comme cité plus haut
ensuite, faire un "strip_tags()"

$exemple = '<a href="bdgfgdf">plop</a>';
strip_tags($exemple);

ça retourne "plop"

Ensuite pour organiser le tout, perso j'utlise des expressions reguliere,
notament preg_replace();
0
Mais comment on fait et ou on le met tous ces trucs ???
0
Mais ou on doit les mettre tous ces truc ????
0
Ou est-ce qu'on doit mettre le file_get_content ???
0
Bonjour , je suis très intéressé par cette discutions et j'aimerai en savoir plus =)
Je vous donne mon adresse msn ;)
iloov.Heroi2k@live.fr
Merci =)
0
bonjour
j'ai recupérer le code source de ma boutique internet
je me suis affilié avec des agence de pub.
j'ai donc le code html des pubs a mettre sur mon site.
j'ai utiliser le logiciel notepad++ pour modifier le code source
je l'ai enregistrer au format html et je les ouvert sur mon navigateur en faisant "fichier" "ouvrir".
Cependant j'ai pas changé pour autant le code source de mon site internet..
est ce que quelqu'un peut m'aider j'ai fait tout les forum tout les tutorials!!je suis perdu
0
@marika

Je sais pas du tout ou tu en est ou à quel niveau......

toujours est il que :
ton probleme n'est pas le même que celui de base d'ici
tu devrais créé un topic
tu devrais demander aux personnes qui ont fait ton site web
tu peux essayer d'apprendre la base (je sais pas ce que tu sais) ici : https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
Tu ne décris pas ton problème, sois plus explicit
Parfois, même si il ya du spam, il vaut peut être mieux laisser une adresse e mail, ou une adresse venant de "yopmail.com" pour eviter le spam si tu veux que quelqu'un te recontacte :)


ps :
après avoir modifier le code sources, il faut le renvoyer sur le serveur ftp....
ensuite "fichier ouvrir" si c'est une page php, tu ne verra pas grand chose de compréhensible. mais tout ça c'est sur le site du zero.
0
Le moyen le plus simple, Ctrl+U
<o)
0