Recupérer le code source d'une page web avec httpclient
cs_fraisa1985
Messages postés52Date d'inscriptionjeudi 12 juillet 2007StatutMembreDernière intervention15 avril 2013
-
8 mai 2008 à 18:19
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 2009
-
14 mai 2008 à 09:26
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:
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;
}
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
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 9 mai 2008 à 14:46
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
cs_fraisa1985
Messages postés52Date d'inscriptionjeudi 12 juillet 2007StatutMembreDernière intervention15 avril 2013 10 mai 2008 à 14:17
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>(
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 10 mai 2008 à 15:11
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"
cs_fraisa1985
Messages postés52Date d'inscriptionjeudi 12 juillet 2007StatutMembreDernière intervention15 avril 2013 13 mai 2008 à 22:20
merci beaucoup ,elle marche parfaitement mais lorsque je met en paramétre une fichier locale (par exemple [file://c:/index.html file://c:/index.html]) 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.(HttpHost.java:107)
at org.apache.commons.httpclient.HttpMethodBase.setURI(HttpMethodBase.java:280)
at org.apache.commons.httpclient.HttpMethodBase.(HttpMethodBase.java:220)
at org.apache.commons.httpclient.methods.GetMethod.(GetMethod.java:89)
at test.TestHtmlClient.main(TestHtmlClient.java:52)
Qu'est ce que je dois faire et merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 14 mai 2008 à 09:26
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