[PHP] récupérer le code source d'une page web [Résolu/Fermé]

- - Dernière réponse :  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;
}
----------------------------------------------------------------------
Afficher la suite 

20/28 réponses

Meilleure réponse
46
Merci
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

Dire « Merci » 46

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62179 internautes nous ont dit merci ce mois-ci

essay peut etre le code php <?php
show_source ( "../repertoire/sousrepertoire/fichier.php" );
?>
svp si vous pouver m'aider de transmettre ce code java en c++ svp svp svp pendant 3 jours


* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package experience01;

/**
*
* @author redpoint
*/
//the PCA class get on the input the of constructor a 2 dimension array where the
//rows are the variables and the columns
//are the observations

public class PCA{
float data[][];
float mean[];
float covariance[][];
float eig_vec[][],eig_val[],pca[][];
int k;

public PCA(float data[][]){
this.data=data;
mean=new float[data[0].length];
k=this.data.length;
init();
}

public PCA(float data[][],int dim){
this.data=data;
mean=new float[data[0].length];
k=dim;
init();
}

public void init(){
//get the mean vector
for(int i=0;i<data[0].length;i++){
float x=0;
for(int j=0;j<data.length;j++){
x+=data[j][i];
}
x/=data.length;
mean[i]=x;
}
//adjust the data set
for(int i=0;i<data.length;i++){
for(int j=0;j<data[0].length;j++){
data[i][j]-=mean[j];
}
}
//compute the covariance matrix
covariance=Stat.getCovarianceMatrix(data);
//get the eigenvectors and eigenvalues of the covariance matrix
Eigen eig=new Eigen(covariance);
eig_vec=eig.getEigenVectors();
eig_val=eig.getEigenValues();
getFeatureVector();
//get the final data
pca=Matrice.getMultiplicate(Matrice.getTranspose(eig_vec),data);
}

public float[][] getPcaData(){
return pca;
}

public float[][] getAdjustedData(){
return data;
}

public float[] getMeanVector(){
return mean;
}

public float[][] getCovarianceMatrix(){
return covariance;
}

public float[][] getEigenVectors(){
return eig_vec;
}

public float[] getEigenValues(){
return eig_val;
}

public float[][] getOriginalDataAdjuste(float featureRow[][],float pcaData[][]){
return Matrice.getMultiplicate(featureRow,pcaData);
}

public float[][] getOriginalData(float featureRow[][],float pcaData[][],float mean_vec[]){
float result[][]=Matrice.getMultiplicate(featureRow,pcaData);
for(int i=0;i<result.length;i++)
for(int j=0;j<result[0].length;j++)
result[i][j]+=mean_vec[j];
return result;
}

//re-order the eigen values/vectors arrays.
public void getFeatureVector(){
for(int j=0;j<eig_val.length;j++){
int max=j;
for(int i=j;i<eig_val.length;i++){
if(eig_val[max]<eig_val[i]){
max=i;
}
}
if(max!=j){
float temp;
temp=eig_val[max];
eig_val[max]=eig_val[j];
eig_val[j]=temp;
for(int i=0;i<eig_vec.length;i++){
temp=eig_vec[i][max];
eig_vec[i][max]=eig_vec[i][j];
eig_vec[i][j]=temp;
}
}
}
if(k<eig_vec[0].length){
float temp[][]=new float[eig_vec.length][k];
float temp_val[]=new float[k];
for(int i=0;i<temp.length;i++){
for(int j=0;j<k;j++){
temp[i][j]=eig_vec[i][j];
}
}
for(int i=0;i<temp_val.length;i++)
temp_val[i]=eig_val[i];
eig_val=temp_val;
eig_vec=temp;

}
}
salut,
comment lier un fichier excel avec html en utilisant php :je veux utiliser les donnés d'un fichier excel dans html : récupérer les fenêtres et le contenue
Salut mec lache excel c'est de la merde adopte Open office ! Gratuit en ++
koubor
Messages postés
32
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 octobre 2014
3 -
Bonjour, petite question,

Je souhaite utiliser ce script pour afficher le code source d'une page de recherche google (par exemple le code source de la page https://www.google.fr/search?q=nike)
Mais le script me renvoi :
Line # 0 : 

Je souhaiterai que le code m'affiche ceci :
view-source:https://www.google.fr/search?q=nike

(Edit)
J'ai trouvé ce code la qui m'avance beaucoup

$curl_handle=curl_init();   
curl_setopt($curl_handle, CURLOPT_URL,'www.google.fr/search?q=nike');   
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);   
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0');   
$query = curl_exec($curl_handle);   
curl_close($curl_handle);   
echo $query;


Mais les annonces google a droites n'apparaissent pas. Pourtant dans le view-source:https://www.google.fr/search?q=nike elles y sont.
(fin Edit)

Quelqu'un pourrait-il m'aider ?

(Edit 2)
Au final c'est bon. j'ai mis ce code ci :
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'www.google.fr/search?q=nike');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

$query =  htmlentities($query);

echo $query;


Les annonces a droites sont bien prisent dans la variable $query, mais elles ne s'affichent pas (c'est pas trop grave)

pb résolu ^^
(Fin Edit 2)
15
Merci
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).
je panCe Ke cétais faih exepré sisi
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.
-
Bonsoir,
Ton site est en ligne sur internet? Si oui aurais-tu l'URL pour voir si on peut faire quelque chose...
plein de FAUTES on dit lol
14
Merci
Salut

Pour récupérer un code source en PHP, voici quelques solutions possibles (mais d'autres existent également) :
- file_get_content
- fopen
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
Ou est le foyer de base ?
12
Merci
maybe it can help

<?php

$url="http://www.google.fr";

$nom_fichier="google.html" ;


$code_html=file_get_contents($url);


file_put_contents($nom_fichier,$code_html);
?>
7
Merci
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.
-
file_get_contents()
Messages postés
688
Date d'inscription
samedi 15 avril 2006
Statut
Membre
Dernière intervention
30 août 2010
98
5
Merci
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
Messages postés
688
Date d'inscription
samedi 15 avril 2006
Statut
Membre
Dernière intervention
30 août 2010
98
5
Merci
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
Merci
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!
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.
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.
3
Merci
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
Merci
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.
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
3
Merci
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
Messages postés
53
Date d'inscription
vendredi 2 mars 2007
Statut
Membre
Dernière intervention
9 juillet 2008
49
1
Merci
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 ...=))
Messages postés
53
Date d'inscription
vendredi 2 mars 2007
Statut
Membre
Dernière intervention
9 juillet 2008
49
0
Merci
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 ...
-
Tu venais de dire qu en informatique, rien n' était impossible...
0
Merci
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
-
test
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
Merci
Mais comment on fait et ou on le met tous ces trucs ???
0
Merci
Mais ou on doit les mettre tous ces truc ????
0
Merci
Ou est-ce qu'on doit mettre le file_get_content ???
0
Merci
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
Merci
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
@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 : http://www.siteduzero.com/tutoriel-3-13666-apprenez-a-creer-votre-site-web.html
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
Merci
Le moyen le plus simple, Ctrl+U
<o)