Ouvrir une page HTML

Résolu
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 - 19 juil. 2007 à 11:10
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

12 réponses

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
19 juil. 2007 à 15:16
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");
3
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
19 juil. 2007 à 11:28
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/
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
19 juil. 2007 à 11:38
çà veut dire quoi exactement "Parser???"
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 juil. 2007 à 11:39
oui et puis reste à savoir si c'est du J2SE, ou du J2EE... et où tu veux l'ouvrir ta page HTML !
0

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

Posez votre question
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
19 juil. 2007 à 13:22
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>
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
19 juil. 2007 à 13:27
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
0
amundain Messages postés 110 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 août 2012 1
19 juil. 2007 à 14:06
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.
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 juil. 2007 à 14:28
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)
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
19 juil. 2007 à 14:39
JLabel supporte l'HTML aussi.... mais je comprend pas comment on doit le forcer à interpréter au lieu d'écrire le html,

merci

lafolle
0
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
19 juil. 2007 à 15:09
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à.
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
19 juil. 2007 à 15:11
tjs le même problème..... même si il n'y a pas de lien
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
19 juil. 2007 à 15:28
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
0
Rejoignez-nous