Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1625 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  récupérer le code HTMl à partir d'une page web

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer le code HTMl à partir d'une page web

n°1694282
aroua
Posté le 28-02-2008 à 13:22:33  profilanswer
 

bonjour,
j'ai besoin d'un code java ou des fonctions qui me permet de récupérer le format HTML d'une page web que je dispose de son URL et le mettre dans un fichier.txt que je l'utilise.

mood
Publicité
Posté le 28-02-2008 à 13:22:33  profilanswer
 

n°1694302
sircam
I Like Trains
Posté le 28-02-2008 à 13:37:08  profilanswer
 

aroua a écrit :

une page web que je dispose de son URL (...) dans un fichier.txt que je l'utilise.


kikoo, lol.  [:pingouino]  [:pingouino]  [:pingouino]  
 
Tu peux écrire ce code et on t'aidera à le mettre au point, mais wget ou tout autre équivalent t'épargnerait de réinventer la roue.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1694375
lordashram
Pour Marmot !!!
Posté le 28-02-2008 à 14:24:35  profilanswer
 

Elle sont pas forcément top top mes classes, mais je débute, mais ça m'a l'air pas trop mal :

Code :
  1. package controleur;
  2. import java.io.*;
  3. import javax.swing.*;
  4. import java.net.*;
  5. import java.util.*;
  6. import java.security.AccessControlException;
  7. public abstract class Requeteur{
  8. private String serveur;
  9. private String page;
  10. protected URL url;
  11. protected URLConnection connexion;
  12. private BufferedReader entrant;
  13. private OutputStreamWriter sortant;
  14. private String line=null;
  15. private ArrayList<ParametreUrl> donnees=null;
  16. public static JApplet applet;
  17. public Requeteur(String serveur){
  18.  this.setServeur(serveur);
  19. }
  20. private void Init(String page,ArrayList<ParametreUrl> donnees) throws AccessControlException, IOException{
  21. }
  22. public ArrayList<String> requete(String page,ArrayList<ParametreUrl> donnees) throws IOException,AccessControlException{
  23.  ArrayList<String> retour = new ArrayList<String>();
  24.  this.Init(page, donnees);
  25.  /** Récupération de la réponse de la servlet */
  26.  this.setEntrant(new BufferedReader(new InputStreamReader(this.getConnexion().getInputStream())));
  27.  while ((this.line = this.getEntrant().readLine()) != null) {
  28.   retour.add(this.line);
  29.  }
  30.  this.line=null;
  31.  this.getEntrant().close();
  32.  return retour;
  33. }
  34. //Serveur
  35. public void setServeur(String value){this.serveur=value;}
  36. public String getServeur(){return this.serveur;}
  37. //Page
  38. public void setPage(String value){this.page=value;}
  39. public String getPage(){return this.page;}
  40. //URL
  41. public void setUrl(URL value){this.url=value;}
  42. public URL getUrl(){return this.url;}
  43. //Connexion
  44. public void setConnexion(URLConnection value){this.connexion=value;}
  45. public URLConnection getConnexion(){return this.connexion;}
  46. //Entrant
  47. public void setEntrant(BufferedReader value){this.entrant=value;}
  48. public BufferedReader getEntrant(){return this.entrant;}
  49. //Sorant
  50. public void setSortant(OutputStreamWriter value){this.sortant=value;}
  51. public OutputStreamWriter getSortant(){return this.sortant;}
  52. //Données
  53. public void setDonnees(ArrayList<ParametreUrl> value){this.donnees=value;}
  54. public ArrayList<ParametreUrl> getDonnees(){return this.donnees;}
  55. }
 
Code :
  1. package controleur;
  2. import java.io.IOException;
  3. import java.io.OutputStreamWriter;
  4. import java.net.URL;
  5. import java.security.AccessControlException;
  6. import java.util.*;
  7. import javax.swing.JLabel;
  8. public class Post extends Requeteur{
  9. public Post(String serveur){
  10.  super(serveur);
  11. }
  12. @SuppressWarnings("unused" )
  13. private void Init(String page,ArrayList<ParametreUrl> donnees) throws AccessControlException, IOException{
  14.  this.setPage(page);
  15.  this.setUrl(new URL(this.getServeur()+this.getPage()));
  16.  this.setDonnees(donnees);
  17.  try{
  18.   this.connexion = this.url.openConnection();
  19.  }catch(AccessControlException e){applet.add(new JLabel(e.getMessage()));}
  20.  this.getConnexion().setDoOutput(true);
  21.  this.setSortant(new OutputStreamWriter(this.getConnexion().getOutputStream()));
  22.  this.getSortant().write(this.getEncodedDatas());
  23.  this.getSortant().flush();
  24.  this.getSortant().close();
  25. }
  26. private String getEncodedDatas(){
  27.  String retour="";
  28.  int i;
  29.  if(this.getDonnees().isEmpty()==false){
  30.   retour=this.getDonnees().get(0).getEncodedVariable()+"="+
  31.     this.getDonnees().get(0).getEncodedValeur();
  32.   for(i=1;i<this.getDonnees().size();i++){
  33.    retour+="&"+
  34.     this.getDonnees().get(0).getEncodedVariable()+"="+
  35.     this.getDonnees().get(0).getEncodedValeur();
  36.   }
  37.  }
  38.  return retour;
  39. }
  40. }
 
Code :
  1. package controleur;
  2. import java.io.IOException;
  3. import java.io.OutputStreamWriter;
  4. import java.net.URL;
  5. import java.security.AccessControlException;
  6. import java.util.*;
  7. import javax.swing.JLabel;
  8. public class Get extends Requeteur{
  9. public Get(String serveur){
  10.  super(serveur);
  11. }
  12. @SuppressWarnings("unused" )
  13. private void Init(String page,ArrayList<ParametreUrl> donnees) throws AccessControlException, IOException{
  14.  this.setPage(page);
  15.  this.setUrl(new URL(this.getServeur()+this.getPage()+this.getEncodedDatas()));
  16.  this.setDonnees(donnees);
  17.  try{
  18.   this.connexion = this.url.openConnection();
  19.  }catch(AccessControlException e){applet.add(new JLabel(e.getMessage()));}
  20.  this.getConnexion().setDoOutput(true);
  21.  this.setSortant(new OutputStreamWriter(this.getConnexion().getOutputStream()));
  22.  this.getSortant().flush();
  23.  this.getSortant().close();
  24. }
  25. private String getEncodedDatas(){
  26.  String retour="";
  27.  int i;
  28.  if(this.getDonnees().isEmpty()==false){
  29.   retour="?"+
  30.    this.getDonnees().get(0).getEncodedVariable()+"="+
  31.    this.getDonnees().get(0).getEncodedValeur();
  32.   for(i=1;i<this.getDonnees().size();i++){
  33.    retour+="&"+
  34.     this.getDonnees().get(0).getEncodedVariable()+"="+
  35.     this.getDonnees().get(0).getEncodedValeur();
  36.   }
  37.  }
  38.  return retour;
  39. }
  40. }
 
Code :
  1. package controleur;
  2. import java.io.IOException;
  3. import java.net.URLEncoder;
  4. public class ParametreUrl {
  5. private String Variable;
  6. private String Valeur;
  7. public ParametreUrl(String variable,String valeur){
  8.  this.setVariable(variable);this.setValeur(valeur);
  9. }
  10. //Variable
  11. public String getVariable(){return this.Variable;}
  12. public void setVariable(String value){this.Variable=value;}
  13. //Valeur
  14. public String getValeur(){return this.Valeur;}
  15. public void setValeur(String value){this.Valeur=value;}
  16. //Encodage
  17. public String getEncodedVariable(){
  18.  try{
  19.   return URLEncoder.encode(this.Variable,"ISO-8859-1" );
  20.  }catch(IOException e){return "";}
  21. }
  22. public String getEncodedValeur(){
  23.  try{
  24.   return URLEncoder.encode(this.Valeur,"ISO-8859-1" );
  25.  }catch(IOException e){return "";}
  26. }
  27. }
 

Voilà qui te permettra de gérer du get et du post normalement.
Pour les autres posters, dites moi si c'est vraiment de la merde, mais j'ai fait ça suite à plusieurs tutos.


Message édité par lordashram le 28-02-2008 à 14:27:25

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  récupérer le code HTMl à partir d'une page web

 

Sujets relatifs
code paypal dysfonctionement du forumAide multipages html
[réglé] petite problème de codesupprimer un bout de code lors d'une inclusion
Code HTML différent selon l'heureSélectionner une colonne de données à partir d'un fichier TXT
Récupérer des fichiers d'un ftp depuis un lien sur un site web ?Attribut "code", validité W3C
Problème avec bout de codes 
Plus de sujets relatifs à : récupérer le code HTMl à partir d'une page web


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR