Accueil > Forum > > > > recupérer le code source d'une page web avec httpclient
recupérer le code source d'une page web avec httpclient
jeudi 8 mai 2008 à 18:19:43 |
recupérer le code source d'une page web avec httpclient

fraisa1985
|
Salut,Je suis entrain de développer une application qui nécessite la récupération du code source de cette page. Pour cela je suis entrain d'utiliser la fonction présenté ci-dessous,la probléme que cette fonction marche parfois et dans beaucoup de cas elle ne marche surtout lorsque je vais avois le code source d'une page distante(et encore plus lorsque j'ai un proxy). Pour rémedier cette probléme j'ai entendu de l'api httpclient ,je l'ai installé en utilisant de faire l'equivalence du fonction ci dessous mais toujours sans aucune resultat. voila le code que je l'utilise mais pour beaucoup des sites il m'affiche des erreurs donc priére de m'aider à resoudre cette problemeet merci d'avance: [CODE] public StringBuffer getURLContent(String link) { StringBuffer sb = new StringBuffer(); List len = new ArrayList(); lineCount = 0; try { URL url = new URL(link); BufferedReader in = new BufferedReader(new InputStreamReader(url .openStream())); String line; while ((line = in.readLine()) != null) { sb.append(line + "\n\n"); //$NON-NLS-1$ lineCount++; } in.close(); return sb; } catch (IOException e) { e.printStackTrace();//$NON-NLS-1$ } return sb; } [/CODE] et donc mon probleme est comment recupérer le code source du page (link), avec le code ci dessous elle marche parfois et parfois non , c pourquois je veux utiliser httpclient en espérant quelle soit plus performants.Toute autre information sera le bien venue
|
|
vendredi 9 mai 2008 à 14:46:43 |
Re : recupérer le code source d'une page web avec httpclient

the_wwt
|
Bonjour, un petit test de httpclient ci-dessous. A noter que ton class-path doit contenir les jars suivants: commons-codec-1.3.jar commons-logging-1.1.jar commons-httpclient-3.0.1.jar PS: "Tue à dé prograit a fer en FRANCAIS" Pierrick import java.io.BufferedInputStream;import java.io.IOException;import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.params.HttpMethodParams;/** * Test de http client * @author phymbert* */ public classTestHtmlClient{/*** @param args N/A*/ publicstaticvoidmain(String[]args){// Le client HTTPHttpClientclient=newHttpClient();// La méthode GET du protoccol HTTPGetMethodmethod=newGetMethod("http://www.google.com");// Provide custom retry handler is necessarymethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,newDefaultHttpMethodRetryHandler(1,false));try{// Execute la méthode HTTPintstatusCode=client.executeMethod(method);// Vérifie le code de retourif(statusCode !=HttpStatus.SC_OK){return;}// Le buffer de lecture des donnéesBufferedInputStreambr=null;// 5 MO de bufferbyte[]buffer=newbyte[(int)(5*Math.pow(2,20))];// La taille total de la pagelongsize=0;// La taille actuellement lueintread=-1;try{//Ouvre le buffer de lecturebr=newBufferedInputStream(method.getResponseBodyAsStream());// C'est partit on lit la pagewhile((read=br.read(buffer,0,buffer.length))>0){// Traite les donnéesprocessData(buffer,0,read,size);size+=read;}}catch(Exception e){}finally{if(br!=null)try{br.close();}catch(Exception e){}}}catch(HttpException e){}catch(IOException e){}finally{// Release the connection.method.releaseConnection();}}/*** Traite les données. * @param buffer Le buffer contenant les données* @param i L'index de départ des données à traiter* @param size La taille des données à traiter* @param total Le nombre de données total déjà traités*/ privatestaticvoidprocessData(byte[]buffer,inti,intsize,longtotal){// Affiche le résultat dans la consoleStringdata=newString(buffer,i,size);System.out.println(data);}}
|
|
samedi 10 mai 2008 à 14:17:31 |
Re : recupérer le code source d'une page web avec httpclient

fraisa1985
|
Merci pour votre aide , J'ai essayé ce code mais il m'affiche l'erreur suivante: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.httpclient.HttpClient.<clinit>( HttpClient.java:66)at test.TestHtmlClient.main( TestHtmlClient.java:59)
|
|
samedi 10 mai 2008 à 15:11:49 |
Re : recupérer le code source d'une page web avec httpclient

the_wwt
|
BONJOUR, j'ai écrit: "A noter que ton class-path doit contenir les jars suivants: commons-codec-1.3.jar commons-logging-1.1.jar commons-httpclient-3.0.1.jar"
Cordialement,
|
|
mardi 13 mai 2008 à 22:20:22 |
Re : recupérer le code source d'une page web avec httpclient

fraisa1985
|
merci beaucoup ,elle marche parfaitement mais lorsque je met en paramétre une fichier locale (par exemple [ Lien ]) il m'affiche l'erreur suivante :
Exception in thread "main" java.lang.IllegalStateException: unsupported protocol: 'file' at org.apache.commons.httpclient.protocol.Protocol.lazyRegisterProtocol(Protocol.java:149) at org.apache.commons.httpclient.protocol.Protocol.getProtocol(Protocol.java:117) at org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:107) at org.apache.commons.httpclient.HttpMethodBase.setURI(HttpMethodBase.java:280) at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220) at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89) at test.TestHtmlClient.main(TestHtmlClient.java:52) Qu'est ce que je dois faire et merci beaucoup
|
|
mercredi 14 mai 2008 à 09:26:52 |
Re : recupérer le code source d'une page web avec httpclient

the_wwt
|
Bonjour, c'est normal http client gère le protocole http donc avec un client et un serveur web. Pour lire un fichier local tu n'as pas besoin de http client, utilise l'api de gestions des fichiers de java, et là c'est hors sujet. A plus, Pierrick
|
|
Cette discussion est classée dans : page, code, source, sb, httpclient
Répondre à ce message
Sujets en rapport avec ce message
code source [ par didoux95 ]
Bonjour à tous.Actuellement, je cherche a récupérer le code source d'une page internet (HTML par exemple).J'ai trouvé sur internet plussieurs code jav
Récuperer code source d'une page web [ par diablosephiroth ]
Bonjours à tous, je dois créer un programme sauf que la j'ai un blocage :pIl faudrait que en Java, je récupère le code source de cette page:<a href="h
[BAR]Affichage code source [ par buglog ]
bonjour sur les conseils d'un des membres je remets ce sujet dans cette rubrique , en espérant trouver une solution je suis sous vista Premium et I
Obtenir la source d'une page Google [ par Leucistic ]
Bonjour à tous, Je voudrais récupérer le titre d'un film à partir d'un nom de fichier qui peut être compliqué, mais qui comporte tout de même le tit
[BAR]Prix d'une code source [ par rhtovo ]
Salut les amis! J'ai recu une proposition d'achat de la part d'une grande entreprise. Elle veut acheter le code source de mon programme. Bien sur je v
Lien FLV d'une vidéo Youtube (Téléchargeur Youtube) [ par pyo656 ]
Bonjour à tous ! J'ai pas mal cherché sur l'ensemble des sites de Codes-Sources pour une source qui téléchargerait un fichier FLV (par exemple, de Yo
Comment ouvrir un code source téléchargé [ par Meriem85 ]
Bonjour les amis, J'ai téléchargé un code source, j'ai essayé de l'ouvrir avec Netbeans pour l'essayé mais j'ai pas pu. Voici la démarche que j'ai fai
code source [ par ilaye ]
slt svp j'ai besoin d un code qui permet de copier un fichier dans une disquette ou bien un flash disk en verifiant si l espace sur ces derniers est s
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : URL ET JAVARE : URL ET JAVA par Pylouq
Cliquez pour lire la suite par Pylouq
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|