Telecharger un fichier depuis url : reprise de telechargement ? [Résolu]

Signaler
Messages postés
21
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
20 janvier 2009
-
jmengelle
Messages postés
21
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
20 janvier 2009
-
Bonjour à tous,

voilà, j'ai un peu de temps à perdre et j'essaye de faire un petit utilitaire pour télécharger un fichier depuis une URL.

Pas de problème pour l'opération en elle même, mais je voudrais améliorer un peu la chose en proposant le reprise de téléchargement (pause/resume). Et c'est là que ça ce complique, car j'ai la vague impression que ce ne soit pas possible, mais dans le doute je viens vous consulter ;)

J'emploi une méthode assez basique qui pour résumer est la suivante :

Proxy proxy = new
Proxy(Proxy.Type.HTTP,new
InetSocketAddress(ip
,portNumber));
URL myUrl = new
URL("xxxxxxxxxxx"
);
URLConnection urlConn2 = myUrl.openConnection(proxy);
... [code pour d'éventuel paramètre/cookies dans la requête]...
urlConn2.connect();
InputStream input = urlConn2.getInputStream();
...[Manipulation classique du stream pour lire le contenu]...

et donc je ne vois pas comment faire ce que je veux.

Je n'ai pas trouvé de méthode sur URLConnection  qui pourrait convenir, je peux juste récupérer le flux.

Et sur le flux, j'ai tenter (bien que pas convaincu) la méthode skip(long) mais sans succès, car bien entendu pour déplacer le pointeur au bon endroit il faut acquerir le flux, ce qui se traduit ici par un téléchargement de tout ce qui précède la position de l'offset.

ça me semble donc mal engagé!

Mais existerait t'il d'autre méthode pour arrivé à mes fins ? (éventuellement dans d'autre langage de programmation en dernier recourt)
j'ai du tenter d'utiliser un objet HttpClient sans plus d'ouverture.

Merci pour vos suggestions.

2 réponses

Messages postés
21
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
20 janvier 2009

Non.

Mais depuis le temps j'ai résolu le problème en utilisant la propriété "range" de la requêtte HTTP qui permet de demander la plage de byte qu'on souhaite.
Messages postés
1
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2009

et par la méthode <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /><title></title><meta name="GENERATOR" content="OpenOffice.org 2.4 (Win32)" /><style type="text/css"><!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
--></style>"getData
()" ?
Enfin je suis ptêt à coté de la plaque ^^