OVH Cloud OVH Cloud

Recuperer des fichiers par le protocole HTTP

4 réponses
Avatar
theBrave
Bonjour,

J'aimerai recuperer des fichiers audios publi=E9s sur un site web. Pour
cela, il me faut t=E9l=E9charger un fichier html, le parser et recuperer
les fichiers audios dont il fait r=E9f=E9rence.
Quelqu'un aurait une id=E9e des classes qu'il me faudrait employer pour
la partie reseau ? J'aimerai quelque chose de simple (je debute dans la
programmation mais je sais -un peu- utiliser les flux) et qui gere de
fa=E7on si possible transparente les proxys.

Merci d'avance

Jean Berniolles

4 réponses

Avatar
Trognon Patrice
theBrave wrote:

Bonjour,

J'aimerai recuperer des fichiers audios publiés sur un site web. Pour
cela, il me faut télécharger un fichier html, le parser et recuperer
les fichiers audios dont il fait référence.
Quelqu'un aurait une idée des classes qu'il me faudrait employer pour
la partie reseau ? J'aimerai quelque chose de simple (je debute dans la
programmation mais je sais -un peu- utiliser les flux) et qui gere de
façon si possible transparente les proxys.

Merci d'avance

Jean Berniolles


bonjour,

Alors pour parser du HTML perso j'utilise ca :
http://www.quiotix.com/downloads/html-parser/

l'utilisation est assez trivial et efficace.

Pour lancer une requete voici un exemple de code (a adapter) :

private void httpMethod(String method,String urlString,Map<String,String> parameters,TmcAbstractCommand tmcCommand,ThreadContext threadContext) throws IOException {
String debugUrl = urlString ;

if ( null != parameters ) {
for( String pName : parameters.keySet() ) {
String pValue = parameters.get(pName) ;
debugUrl += "&" + pName + "=" + pValue ;
}
}

URL url = new URL(debugUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection() ;
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Connection", "keep-alive");
conn.setRequestProperty("Cookie", "JSESSIONID=" + cookie);
conn.setRequestMethod(method.toUpperCase()) ;
System.out.println(threadName + "::" + cookie + ":: " + debugUrl) ;
conn.connect();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null ;
while ( (line = rd.readLine()) != null ){
tmcCommand.perform(threadContext,line) ;
}
rd.close() ;
conn.disconnect();
}

--
Cordialement,

Patrice Trognon
http://wwW.javadevel.com

Avatar
laurent
bonjour,

il existe un projet permet de la même façon de faire des requêtes
http facilement, voici l'url du projet (avec un exemple):
http://htmlunit.sourceforge.net/gettingStarted.html

--
Laurent
Avatar
Jacques-Olivier Haenni
Bonjour,

Un autre projet à essayer est httpclient chez Jakarta Commons:
http://jakarta.apache.org/commons/httpclient/

Jacques-Olivier


laurent wrote:

bonjour,

il existe un projet permet de la même façon de faire des requêtes
http facilement, voici l'url du projet (avec un exemple):
http://htmlunit.sourceforge.net/gettingStarted.html

--
Laurent





Avatar
theBrave
Ces classes me semblent interessantes. Je vais bucher les exemples pour
voir quelles est la plus simple a mettre en place.

Merci beaucoup de votre aide !

Jean Berniolles