Bonjour tout le monde,
j'ai essayé d'extraire le code source d'une page web en java.
En effet, ma fonction prend en argument le lien (http//....) de la page puis crée un fichier texte en sortie contenant le code source.
Le programme marche très bien sauf pour google.
lorsque j'insère un lien vers une page des résultats de google le fichier en sortie ne contient plus le vrai code de cette page.
Pire encore, Firefox ne permet pas de visualiser le code source d'une telle page à moins d'utiliser l'utilitaire "FireBug".
Pour comprendre ce que je voulais dire par le vrai code source d'une page de résultats google, comparer le code obtenu par Firefox (affichage --> source) et celui obtenu en utilisant FireBug ou encore google chrome ( options pour développeurs --> afficher source).
Une page des résltats de google est la page qui s'affiche lors d'une recherche, par exemple si je recherche "développez" dan google le lien de la page des résultats est :
"http://www.google.fr/#hl=fr&q=developpez&aq=f&aqi=g10&aql=&oq= gs_rfai=&fp=fc9246973793d25a".

Mon code Java est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public class test {

    public static void getIpFrom(String adresse) {
        
        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();
        FileOutputStream fos = new FileOutputStream(new File("source.txt"));
        int n =0;
         while((n = in.read()) >= 0)
         {
                 //On écrit dans notre deuxième fichier
                 //avec l'objet adéquat 
                 fos.write(n);       
                 
         }
         
         //On ferme nos flux de données
         in.close();
         fos.close();


        

        } catch (MalformedURLException e) {

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

        e.printStackTrace();
        }
    
        } 
    public static void main(String[] args) {
        
        
System.out.print(getIpFrom("lien web"));
        

    }

}