Ouvrir une page HTML [Résolu]

Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
- - Dernière réponse : lafolle24320
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
- 19 juil. 2007 à 15:28
Bonjour,

Je suis à la recherche d'une solution pour ouvrir une page HTML depuis du code JAVA. Sachant que je travaille avec un jdk 1.4 et éventuellement 1.5. Je suis bloquée dans ses jdk par des contraintes de mon entreprise....oui je sais c'est pas le top ;-).

Auriez vous une petite piste?

merci beaucoup

Lafolle
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010
3
Merci
Bizare, chez moi
import java.awt.BorderLayout;
import java.awt.Container;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.io.*;

import javax.swing.*;

public class Essai {
    public static void main(String[] args) {
   
     JFrame frame = new JFrame("Drag");

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   

     Container content = frame.getContentPane();

     JPanel inner = new JPanel();
     JLabel text = new JLabel(ConnexionServer("http://www.perdu.com/"));
     inner.add(text);
     content.add(inner);

     frame.pack();

     frame.show();
    //      System.out.println(ConnexionServer("http://pc-126.cesr.fr/"));
    }

    public static String ConnexionServer(String adresse){
        String toreturn = null;
             try{
                 //creation d'un objet URL
                 URL url = new URL(adresse);
                 //on etablie une connection a cette url
                 try{
                     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;
    }
}
fonctionne (même si déprécié).
et sinon, comme là dit amundain:
new JEditorPane text = new JEditorPane("http://www.google.fr");

Dire « Merci » 3

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

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Kysic
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010
0
Merci
Bonjour,
pas très précis comme question, si la page est local, vous
pouvez l'ouvrir comme un fichier normal, si elle distante avec une
URLConnection, si le but est de la parser, il y a HTML Parser (qu'une
simple recherche sur le web permet de trouver). Si le but est de faire
ouvrir le navigateur web sur une page, il faut regarder du côté des
lignes de commande.
http://kysicurl.free.fr/
Commenter la réponse de cs_Kysic
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
0
Merci
çà veut dire quoi exactement "Parser???"
Commenter la réponse de lafolle24320
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
71
0
Merci
oui et puis reste à savoir si c'est du J2SE, ou du J2EE... et où tu veux l'ouvrir ta page HTML !
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010
0
Merci
En gros, le verbe "parser" veut dire analyser (syntaxiquement) le contenu d'un document pour en extraire l'information, et le nom "parser" ou analyseur syntaxique désigne l'algorithme ou le programme qui s'en charge.
Définition web:
<li>Parser est l'acte par lequel un document est
examiné, et par lequel l'information contenue à l'intérieur de ce
document est filtré dans le contexte des éléments structurant
l'information.http://www.visionduweb.com/lesplus/lexique/p.php4&usg=AFQjCNGSF9wkR8w_eFPE-ymF2Sz8RLH5Dw' target='_blank'>www.visionduweb.com/lesplus/lexique/p.php4</li>
Commenter la réponse de cs_Kysic
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
0
Merci
En fait j'ai réussi à obtenir le code html de la page web dans java mais j'aimerai maintenant voir cette même page dans un textarea... pour pouvoir m'affranchir du navigateur et ainsi faire un code multi plateforme.

voici mon début d'essai pour mieux comprendre :
import java.awt.BorderLayout;
import java.awt.Container;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.io.*;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

import sun.security.krb5.internal.crypto.e;

public class Exec{
public static void main(String[] args) {

JFrame frame = new JFrame("Drag");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


Container content = frame.getContentPane();

JPanel inner = new JPanel();
JTextArea text = new JTextArea("<HTML>"+ConnexionServer("http://pc-126.cesr.fr/")+"</HTML>");
inner.add(text);
content.add(inner);


frame.pack();

frame.show();
// System.out.println(ConnexionServer("http://pc-126.cesr.fr/"));
}


public static String ConnexionServer(String adresse){
String toreturn = null;
try{
//creation d'un objet URL
URL url = new URL(adresse);
//on etablie une connection a cette url
try{
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;
}
}

merci

lafolle
Commenter la réponse de lafolle24320
Messages postés
110
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
28 août 2012
1
0
Merci
Salut,

Il me semble que pour afficher du HTML sous Java il faut plutôt regarder du côté de la classe JEditorPane que du côté des JTextArea...la JEditorPane reconnait le HTML et l'affiche comme un navigateur.


A +,

amundain


<hr size="2" width="100%" />Java bien,merci.
Commenter la réponse de amundain
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
9
0
Merci
la encore il y a tout les exmple qu il faut fournit par sun .. ;o)
qd au html ;o) un simple JLabel l interprete ... ;o)
il n y a rien de plus simple que de faire un browser en java.... ;o)
par contre pour lire tout ce qui est flash et compagni ;o) la! y a du boulot..... ;o)

GodConan ;o)
Commenter la réponse de cs_GodConan
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
0
Merci
JLabel supporte l'HTML aussi.... mais je comprend pas comment on doit le forcer à interpréter au lieu d'écrire le html,

merci

lafolle
Commenter la réponse de lafolle24320
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010
0
Merci
Re,
essayer avec
JLabel text = new JLabel(ConnexionServer("http://www.perdu.com/"));

Si vous essayer sur une autre page, vérifier qu'elle n'a pas de dépendance (script externe, style externe ....), le problème venant surement de là.
Commenter la réponse de cs_Kysic
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
0
Merci
tjs le même problème..... même si il n'y a pas de lien
Commenter la réponse de lafolle24320
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
0
Merci
la solution fonctionne mais uniquement pour des pages simples... pour afficher google déjà moi çà bug...
Je vais essayer dabs cette direction en tout cas.

merci beaucoup à vous

bonne suite

lafolle
Commenter la réponse de lafolle24320