begin process at 2012 02 15 12:56:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Reseaux et Internet

 > RECUPERER LE CODE HTML D'UNE PAGE WEB

RECUPERER LE CODE HTML D'UNE PAGE WEB


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Reseaux et Internet Classé sous :url, urlconnection, html, stringbuilder Niveau :Débutant Date de création :24/02/2006 Date de mise à jour :06/04/2006 14:39:46 Vu :31 418

Auteur : sheorogath

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note


 Description

je poste cette fonction car en moins d'un mois j'ai du la poster trois ou quatre fois

elle permet de se connecter a l'url passe par parametre et de recuperer le code html de la page

Source

  • public static String getIpFrom(String adresse) {
  • String toreturn = null;
  • 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();
  • // 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;
  • }
public static String getIpFrom(String adresse) { 
		String toreturn = null;
		  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(); 
//		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;
		 } 

 Conclusion

voilà en esperant avoir pu etre utile


 Historique

24 février 2006 20:41:37 :
petites fautes de frappes embetante dans les commentaires
06 avril 2006 14:39:47 :
petite correction

 Sources du même auteur

Source avec Zip JAVA ET TERMINAL-CAPABILITY
Source avec Zip MOTEUR DE PLUGIN
Source avec Zip JARLOADER
Source avec Zip JOURNAL INTIME
Source avec Zip JTEXTPANE ETENDU ET FACILITE (LECTURE,ECRITURE RTF),COULEURS...

 Sources de la même categorie

PILOTER À DISTANCE UN SERVEUR VIA SMS par hhoareau
Source avec Zip Source avec une capture SERVEUR D'OBJET ET EXEMPLE D UTILISATION : SERVER CHAT ET SO... par GodConan
Source avec Zip Source avec une capture RÉCUPÉRER CHEMIN DOSSIER DEPUIS POSTE DISTANT VIA SOCKET. par Dariumis
Source avec Zip Source avec une capture LOCALISATEUR D'HOTE (IL SUFFIT D'ENTRE L'ADRESSE ET LE PROG ... par amateur_java
Source avec Zip COMPTEUR DE TEMPS DE CONNEXION A L'INTERNET EN RESEAU. par Tiger076

 Sources en rapport avec celle ci

Source avec Zip JAVA SERVER PAGE par pasteure
ENCODING A STRING USING HTML ENTITIES par futer
Source avec Zip REDIRECTION D'URL ET TRANSMISSION DE COOKIES par AlexN
SUPPRIMER LES BALISES D'UN FICHIER HTML par AlexN
TELECHARGER UN FICHIER A PARTIR D'UNE URL par jaoued zahraoui

Commentaires et avis

Commentaire de chebil le 05/03/2006 17:02:47

Bonjour
comment visualiser le contenu d'une page html sécuriséé par un login et un mot de passe (bien sur j'ai un login et un mot de passe). Y'a t'il une methode d'authentification??? Merci

Commentaire de sheorogath le 05/03/2006 19:34:17 administrateur CS

cela depend de la methode d'authentifiquation
si les identifiant se passe par l'url alors il n'y auras pas de probleme sinon pour les autre cas je n'en ai aucune idee vu que je n'y ai pas reflechis encore


++

Commentaire de alinou84 le 21/04/2006 11:42:03

bonjour,

jai essayer de tester le code mais le probleme est que ca ne reconnait pas la classe StringBuilder...
comment peut on faire? ya til une alternative a l'utilisation de cette fonction?

merci:)

Commentaire de sheorogath le 21/04/2006 18:37:50 administrateur CS

passe au jdk1.5.0 ou alors tu le change en StringBuffer si je me souvient bien

++

Commentaire de hanieh1 le 15/08/2006 15:44:13

j'ai une question précise dont je trouve nulpart la
réponse.
J'ai crée une parseur java, qui parse une URL, en créant
un fichier HTML et traitant chaque balise.et mon problème
c'est que en utilisant des méthodes de genre :

public String parseElement(Element pElem, Production pProd)
{


if(pElem.getAttributes().getAttribute(StyleConstants.NameAttribute)
== javax.swing.text.html.HTML.Tag.H1)
{......



je ne peux récupérer que le premier String des balises,
par exemple si dans le fichier HTML j'ai :


<b class="ch">Certification:</b>
<a
href="/List?certificates=Spain:13&&heading=14;Spain:13">Spain:13</a>
<i>(re-rating)</i> / <a
href="/List?certificates=Canada:AA&&heading=14;Canada:AA">Canada:AA< /a>
......



je peux récupérer que Spain:13 et non Canada:AA

est-ce que par hazard vous avez une idée...???!!!!

Merci d'avance et bonne après midi
Hanieh

Commentaire de sheorogath le 28/08/2006 15:33:47 administrateur CS

je n'ai meme pas compris la demande ...

Commentaire de nerux le 13/09/2006 09:30:18

Bonjour,
J'aurais aimé savoir si quelqu'un connaissait la reponse a la question du tout premier post de chebil :

comment visualiser le contenu d'une page html sécuriséé par un login et un mot de passe (bien sur j'ai un login et un mot de passe). Y'a t'il une methode d'authentification??? Merci

J'ai fait pas mal de recherche sur le net, en vain, donc si quelqu'un pouvait m'aider. Merci d'avance.

Commentaire de sheorogath le 13/09/2006 14:05:26 administrateur CS

je sais pas je n'ai pas jamais essayé

si je devais le faire j'irais coir du coter du package de apache , htmlconnection il me semble ou un truc de ce genre ^^

sinon un coup chez les Socket mais ca risque d'etre assez penible

voila
++

Commentaire de chebil le 26/09/2006 00:17:29

j'ai réussi a recuperer le code html d'une page securisee en utilisant le code suivant:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.*;
import java.io.*;
class DialogAuthenticator extends Authenticator {
  private JDialog passwordDialog;
  private JLabel mainLabel = new JLabel(
      "Donner votre nom d'utilisateur et mot de passe: ");
  private JLabel userLabel = new JLabel("Nom d'utilisateur: ");
  private JLabel passwordLabel = new JLabel("Mot de passe: ");
  private JTextField usernameField = new JTextField(20);
  private JPasswordField passwordField = new JPasswordField(20);
  private JButton okButton = new JButton("OK");
  private JButton cancelButton = new JButton("Annuler");
  public DialogAuthenticator() {
    this("", new JFrame());

  }

  public DialogAuthenticator(String username) {
    this(username, new JFrame());
  }

  public DialogAuthenticator(JFrame parent) {
    this("", parent);
  }

  public DialogAuthenticator(String username, JFrame parent) {
    this.passwordDialog = new JDialog(parent, true);
    passwordDialog.setLocation(400, 300);
    Container pane = passwordDialog.getContentPane();
    pane.setLayout(new GridLayout(4, 1));
    pane.add(mainLabel);
    JPanel p2 = new JPanel();
    p2.add(userLabel);
    p2.add(usernameField);
    usernameField.setText(username);
    pane.add(p2);
    JPanel p3 = new JPanel();
    p3.add(passwordLabel);
    p3.add(passwordField);
    pane.add(p3);
    JPanel p4 = new JPanel();
    p4.add(okButton);
    p4.add(cancelButton);
    pane.add(p4);
    passwordDialog.pack();

    ActionListener al = new OKResponse();
    okButton.addActionListener(al);
    usernameField.addActionListener(al);
    passwordField.addActionListener(al);
    cancelButton.addActionListener(new CancelResponse());
  }

  private void show() {
    String prompt = this.getRequestingPrompt();
    if (prompt == null) {
      String site = this.getRequestingSite().getHostName();
      String protocol = this.getRequestingProtocol();
      int port = this.getRequestingPort();
      if (site != null & protocol != null) {
        prompt = protocol + "://" + site;
        if (port > 0)
          prompt += ":" + port;
      }
      else {
        prompt = "";
      }
    }
    mainLabel.setText("Se connecter à "
                      + prompt + ": ");
    passwordDialog.pack();
    passwordDialog.show();
  }

  PasswordAuthentication response = null;
  class OKResponse
      implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      passwordDialog.hide();
// The password is returned as an array of
// chars for security reasons.
      char[] password = passwordField.getPassword();
      String username = usernameField.getText();
// Erase the password in case this is used again.
      passwordField.setText("");
      response = new PasswordAuthentication(username, password);
    }
  }

  class CancelResponse implements ActionListener {
    public  Interface rootInterface;
    public void actionPerformed(ActionEvent e) {

      passwordDialog.hide();
// Erase the password in case this is used again.
      passwordField.setText("");
      rootInterface.monitorFrame.votreIP2.setText("");
      response = null;
    }
  }

  public PasswordAuthentication getPasswordAuthentication() {
    this.show();
    return this.response;

    }
  }


public class SecureSourceViewer {
public SecureSourceViewer (String ip) {
DialogAuthenticator d=new DialogAuthenticator();
Authenticator.setDefault(d);
try {
//Open the URL for reading
URL u = new URL("http://"+ip);
InputStream in = u.openStream( );

}
catch (MalformedURLException e) {
System.err.println( "http://"+ip+"n'est pas joignable");
}
catch (IOException e) {
System.err.println(e);

}

}
}



Commentaire de n1k00 le 15/10/2006 16:03:57

Bonjour voila j'ai réussit à récupérer le code html d'une page web (google lors de mon test) et à la renvoyer dans une textarea. Maintenant j'aimerais savoir comment faire pour afficher la page que je souhaite au lieu d'avoir la longue ligne de code.

Commentaire de sheorogath le 15/10/2006 18:56:16 administrateur CS

JEditorPane

Commentaire de Waldo2188 le 18/10/2006 17:07:30

Salut à tous !
Ta source est pas mal mais la boucle est un peu longue.
En fouillant un peut sur le web j'ai trouvé ca :

InputStream in = new URL( "http://www.kickjava.com" ).openStream();
try {
   InputStreamReader inR = new InputStreamReader( in );
   BufferedReader buf = new BufferedReader( inR );
   String line;
   while ( ( line = buf.readLine() ) != null ) {
     System.out.println( line );
   }
} finally {
   in.close();
}

L'avantage de ce code c'est qu'il ne lit pas caractère par caractère mais ligne par ligne, ce qui  est quand même plus rapide.

Sur ce bonne continuation

Commentaire de sheorogath le 18/10/2006 17:15:33 administrateur CS

ouaip jaurais pu utilise un bufffer aussi ^^
ya plusieur maniere de faire

Commentaire de KissyFroth le 03/11/2006 19:02:56

Salut
J'aime bien ta source mais malheureusement elle ne permet pas de récupérer le code de pages générées (genre http://www.google.fr/search?hl=fr&q=chien&meta= ) ce qui correspond à la recherche "chien" sous google.
Est-ce que quelqu'un saurait comment il faut faire ?
Note : je te met 8/10 non pas pour la complexité mais parce qu'elle est bien pratique.

Commentaire de sheorogath le 04/11/2006 14:49:29 administrateur CS

merci

en effet google limite l'acces de ces page , je pense que si des variable comme le referer ou au(tre n'est pas envoyer la connection ne peux s'effectuer ...

Commentaire de cedricweb le 19/11/2006 16:02:32

Bonjour,
Ce code est tres bien fait, avec beaucoup de commentaires, ce qui permet de bien comprendre comment cela fonctionne, merci.

Existerait-il un équivalant en JavaScript ? ;-)

Commentaire de sheorogath le 19/11/2006 16:43:46 administrateur CS

j'en sais rien certyainement mais c pas la qu'il faut chercher ...

Commentaire de zibo3 le 07/10/2009 16:59:24

Bonjour,

Est ce que tu aurais une méthode pour imprime ensuite ce code HTML mais pas sous forme de code mais l'interprétation HTML ???

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

fermer puis ouvrir une page HTML [ par dyfred ] Ce serait peut-etre plus simple mais je ne sais pas comment faire puisque les donnees sont gardees en memoire contre ma volonte.J'ai d'ailleurs un aut nom page html dans l'URL [ par kitiara999 ] Bonjour &#224; tous,&nbsp;&nbsp;&nbsp;J'ai un bug dans un site Internet, la barre d'adresse affiche toujours l'URL de la page pr&#233;c&#233;dente que Problm applet + TextField [ par TontonLuc ] Cette Applet redescend le contenu d'un fichier .txt qui se trouve sur le Net mais ça marche uniqmt lorsque je lance l'Applet d'une fenêtre Dos. J'aime Lire HTML [ par cedalbator ] Bonjour,Après avoir beaucoup appris en parcourant le forum, je suis toujours a la recherche du code magique.Je suis en train de faire une petite appli taille d'un fichier avec url [ par aurelbobol6 ] Bonjour,je recherche la taille d'un fichier sur un serveur distant. J'ai appliqué la méthode suivante qui marche pour les adresses HTTP mais pas pas p chercher meta d'une page html [ par lalaing ] bonjour, svp je veux comment chercher dans une page html la balise meta exemple : syntaxe: &lt;META NAME="Keywords" CONTENT="Analyse d'audience, Référ html parser [ par hamlei ] je cherche à créer à partir d'une url (à écrire directement dans le code) un fichier texte comportant le code source html ensuite je souhaite sélectio problème d'accès à l'url [ par tounsimaroua1 ] salut à tous, je suis entrain de réaliser une application java necessitant la parcours d'un fichier html. j'ai trouvé un probléme d'accès à l'url j'ai JEditorPane + HTML [ par tominfo ] J'arrive pas à mettre mon fichier HTML dans un JEditorPane. Voici mon code (ou un des nombreux essais...):java.net.URL url=null;try { url = new j


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,856 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales