Publié le 12/05/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
4 commentaires

Ouvrir une URL et charger son contenu au format texte

Pour charger le code source d'une page HTML, le langage JAVA propose plusieurs packages autour de la communication réseau. Dans cet article, nous utilisons l'objet URLConnection permettant d'ouvrir une URL et charger son contenu.

Charger une page HTML avec JAVA

Voici un exemple d'utilisation, les redirections y compris les pages 301 sont traitées automatiquement par la class URLConnection. Le contenu de la page HTML est récupéré dans une variable String au moyen d'un StringBuilder.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * Charger une page HTML
 * http://www.fobec.com/java/908/ouvrir-une-url-charger-son-contenu-format-texte.html
 */
 
public class HTTPLoader {
/**
 * Open a url and read text data, for example html file
 * @param _url url
 * @return String file content
 */
    public static String getTextFile(String _url) {
        BufferedReader reader = null;
        try {
            URL url = new URL(_url);
            URLConnection urlConnection = url.openConnection();
            reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line);
                sb.append("\n");
            }
            return sb.toString();
        } catch (IOException ex) {
            Logger.getLogger(HTTPLoader.class.getName()).log(Level.SEVERE, null, ex);
            return "";
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException ex) {
                Logger.getLogger(HTTPLoader.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
} 

Charger l'URL de la page index

Pour illustrer le chargement du code source, voyons comment obtenir le code source la page index du site Fobec.com.

System.out.print(HTTPLoader.getTextFile("http://fobec.com/"))

Pour charger une URL, une autre méthode consiste à utiliser directement les sockets en JAVA. Dans ce cas, il faudrait gérer soi-même les codes HTTP par exemple les redirections et les erreurs de communication réseau.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar Tom

Publié par Tom

le 04/05/2011 à 17:28:13

Hello!
Cependant, mon Eclipse ne reconnait pas HttpLoader comme type valide...
Comment faire pour que ca marche?
Merci d'avance pour ton aide!
@+

avatar Fobec

Publié par Fobec

le 04/05/2011 à 18:01:53

oups quelques lignes manquent sur ce code ! ... l'exemple est corrige et complet
Merci Tom

avatar Verkork

Publié par Verkork

le 01/06/2011 à 00:03:14

Le probleme c'est que ce code ne convient pas quand une partie de la page est dynamique, ie qu'elle est rafraichit toutes les minutes par exemple. Par exemple pour une telle page, c'est plus compliquee: [modere]

avatar skud

Publié par skud

le 04/11/2011 à 17:16:14

La methode getTextFile() etant statique, il faut donc l'appeler de maniere statique. Modifier l'exemple de la maniere suivante

System.out.print(HTTPLoader.getTextFile('http://fobec.com/CMS/index.php'));

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
12/05/2010
Visualisation
vu 7091 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par jpa71 dans java

Efficace.. Bien commente.. Du code bien pense
Bravo

Publié par hilflo dans tuto

Pour Romaingineer, essaye d'aller voir dans le fichier functions.php dans ton theme, tu dois avoir des functions wp_enqueue_style ou wp_enqueue_script, c'est la que tu pourras faire des modifs

Publié par Tchat dans news

Analyses interessantes.
J'ai constate aussi des comportements etranges de Google concernant les placements des sites sur leurs requetes.
Par contre j'ai remarque que Google ne tient pl...

Publié par hozin2003 dans CMS

merci, c'est mon problème et voila j'ai trouvé la solution merci et voila un bon pas pour un débutant

Publié par deefaze dans CMS

Label1.Caption := format(\'Red: $%.2x, Green : $%.2x, Blue : $%.2x\',[R,G,B]);

:)