Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Lire le contenu d'une page web avec Android

Article posté le 04-08-2014 dans la catégorie Android

Attention, le contenu cet article est peut-être obsolète!

La maitrise des tâches asynchrones est nécessaire pour la lecture de cet article.

Voici une classe vous permettant de faire une requête de type GET. Elle doit être gérée par une tâche aynchrone. Pour la lancer, il suffit d'appeler la méthode getRequest() avec en paramètre l'URL complète du site à consulter.

Une fois que c'est terminé, via la méthode onPostExecute(), vous pouvez lire le code HTML affiche par le serveur avec la méthode getResultat() ou encore le code HTTP retourné par le serveur avec getHeader().

Contenu complet de la classe :

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import android.util.Log;
public class readWebPage {
    String Url = null;
    String Header = "";
    String Resultat = "";
    public String getResultat() {
        return this.Resultat;
    }
    public String getHeader() {
        return this.Header;
    }
    public void getRequest(String urlPageContact) {
        
        this.Url = urlPageContact;
        URL url;
        try {
            // Création de la demande
            url = new URL(Url);
            URLConnection conn = url.openConnection();
            Header = conn.getHeaderField("Server");
            // Ouverture et lecture du flux
            BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));
            String inputLine;
            while ((inputLine = br.readLine()) != null) {
                Resultat = Resultat + inputLine;
            }
            br.close();
            Log.e("Resultat", "Lecture de page terminée");
            
        } catch (MalformedURLException e) {
            e.printStackTrace();
            Resultat = "Problème : impossible de lire le flux";
        } catch (IOException e) {
            e.printStackTrace();
            Resultat = "Problème : impossible de lire le flux";
        }
    }
}

Cet article vous a plu? Découvrez d'autres articles


Tweet
comments powered by Disqus