TELECHARGER UN FICHIER A PARTIR D'UNE URL

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 17 oct. 2005 à 19:29
Minege Messages postés 23 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 27 janvier 2015 - 28 juil. 2013 à 22:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34185-telecharger-un-fichier-a-partir-d-une-url

Tikaway Messages postés 5 Date d'inscription mardi 27 avril 2010 Statut Membre Dernière intervention 9 mars 2012
7 oct. 2010 à 10:04
Bonjour,

Comme Hassenra, j'obtiens systématiquement l'erreur "Fichier non valide.". J'utilise l'url privée de mon calendrier Google du type : http://www.google.com/calendar/ical/blablablabla%40group.calendar.google.com/private-bubullebubulle/basic.ics
BlackBrain Messages postés 1 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 juillet 2010
27 juil. 2010 à 14:55
Salut je suis nouveaux comment on le telecharge ?
cs_polter Messages postés 1 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 13 mars 2008
13 mars 2008 à 14:45
Bonjour.

Ce code fonctionne parfaitement sauf avec ce type d'url :

http://localhost:8080/com.instranet.InstraServlet?command=com.instranet.CmdBlobGet&InstranetImage=102&SecMode=1

J'ai bien sûr mis un nom fictif au fichier.

Y a-t-il un moyen pour la faire fonctionner ? Merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
14 avril 2007 à 15:32
ben dans ce cas tu va voir une autre de mes sources permettant de recuperer le contenu d'une page web ... si tu recupere un message d'erreur ou une page 'null' alors tu pourras afficher ce message
Souliabdo Messages postés 186 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 11 avril 2011 2
8 avril 2007 à 13:22
Bonjour,
J'ai essayé avec ce code il y a des pour lesquelles la connexion est lourde.
J'ai essayé l'url directement sur Internet il met longtemps puis le message suivant s'affiche:
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Ce que je voulais faire et quand la connexion échoue je voudrais récupérer ce message et l'afficher à partir de mon code java.
Merci beaucoup...
hassenra Messages postés 6 Date d'inscription jeudi 27 octobre 2005 Statut Membre Dernière intervention 1 août 2009
30 mars 2007 à 15:11
voici un exemple d'url:"http://www.irit.fr/SIG_RFI/perso.html"

il m'affiche toujours le meme méssage:java.io.IOException: Fichier non valide.

s'il vous plais pouviez vous m'aider car c'est urgent.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
29 mars 2007 à 19:02
c'est quoi l'url
hassenra Messages postés 6 Date d'inscription jeudi 27 octobre 2005 Statut Membre Dernière intervention 1 août 2009
29 mars 2007 à 14:02
désolée , mais je n'ai pas peux faire marché ce code.pour n'importe quel Url .il m'afiche:java.io.IOException: Fichier non valide.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
9 janv. 2007 à 19:11
désolé je le poste vendredi ou demain aprem j'ai oubliais le code chez moi (disons que j'ai quelques problemes d'acces au net ces temps ci :$)
cs_bloom1 Messages postés 328 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 8 mars 2007
7 janv. 2007 à 20:03
Ok loll
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 janv. 2007 à 13:54
il faut que tu reprenne ce morceaux : byte[] donnees = new byte[FileLenght];
int BitRead = 0;
int deplacement = 0;
while (deplacement < FileLenght) {
BitRead = entree.read(donnees, deplacement, donnees.length-deplacement);
if (BitRead == -1) break;
deplacement += BitRead;
}

en gros un tableau de 60 millions d'emplacement la jvm n'apprecie pas il faut donc lire par morceau avec des tableaux de byte mais pas de 60 mega ^^

je fini ma philo et si je le temps je refait le code

dans lepire des cas je le fait mardi

bonne soiree
cs_bloom1 Messages postés 328 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 8 mars 2007
5 janv. 2007 à 03:41
(P.S : le fichier fait 63 Mo)
cs_bloom1 Messages postés 328 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 8 mars 2007
5 janv. 2007 à 03:39
Et c'est normal que dans le JDK 1.6, ca fait une erreur avec un fichier de 68 Mo ?? Il me dit :
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at HTTPGetFile.getFile(HTTPGetFile.java:27) et cette ligne c'est elle byte[] donnees = new byte[FileLenght];
at HTTPGetFile.(HTTPGetFile.java:8) et elle c'est getFile(racine);
at GDM.actionPerformed(Main.java:39) elle c'est quand je fais appuyer sur un bouton(c'est normal)

Alors vous pouvez m'aider ?
areaq94 Messages postés 2 Date d'inscription mercredi 3 janvier 2007 Statut Membre Dernière intervention 3 janvier 2007
3 janv. 2007 à 16:56
sisi je m'y connais un peu j'apprends ça a l'ecole j, j'ai deja installé le jdk, mais comment je fais avec le code, il des trucs que je dois remplacer? ou ajouter, parceque ça c'est trop complexe pour moi encore. Merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
3 janv. 2007 à 16:39
ben heu si tu connais pas le java c'est pas trop la peine
il te faut installe rle jdk
le compiler et le lancer en appelant la bonne url ...
areaq94 Messages postés 2 Date d'inscription mercredi 3 janvier 2007 Statut Membre Dernière intervention 3 janvier 2007
3 janv. 2007 à 14:58
Bonjour Pardonnez moi mais je ne comprends rien de ce qu'il faut faire....
j'aimerais recupéré ce fichier " trailerSplash.mov " sur le site " www.rosariotijeraslapelicula.com " . Que dois-je faire et dans quoi je dois mettre le code cidessous.

Merci
vcherrier Messages postés 2 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 27 novembre 2006
27 nov. 2006 à 10:02
ok merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
24 nov. 2006 à 17:42
on ne peut evidemment pas sinon on pourrais modifier n'importe quel fichier ....

faut passer par un script genre php ou alors par le ftp ...
vcherrier Messages postés 2 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 27 novembre 2006
24 nov. 2006 à 16:35
je recherche en partit ce vous faite mais je souhaite aussi ecrit
sur un fichier qui est dans mon site internet, j'arrive à lire mais ecrire j'ai l'impression que l'on ne peut pas?
merci pour vos reponses.
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
2 oct. 2006 à 23:27
kinski > http://www.javafr.com/code.aspx?ID=39777 voila le résultat :) (à améliorer bien sûr)
abhoryo Messages postés 28 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 29 août 2008
30 juin 2006 à 12:27
Oki merci bien pour tes renseignements :D
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
30 juin 2006 à 12:08
qu'elle sois signé => avoir un certificat et ca demande au client si il veut executer l'applet ou pas
abhoryo Messages postés 28 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 29 août 2008
30 juin 2006 à 12:05
Pas de souci, je vais chercher des solutions.
Cependant qu'entends-tu par "qu'elle soit signe" ?
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
30 juin 2006 à 11:48
non il essai bien d'ecrire chez le client
une applet nas pas le droit d'ecrire sur le client
il faut qu'elle soit signe

je peux pas t'aider la dessus mes competance s'arrete au niveau des appli

les applet ne m'interresse pas

bonne chance
abhoryo Messages postés 28 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 29 août 2008
30 juin 2006 à 11:33
C'est bon ça marche bit a bit, en fait pour aller plus vite j'essaie de lire des bouts de 1024 bits et j'écris ceux qui ont étaient lu. J'avais poster un message hier soir mais ce matin je l'ai retrouvé effacé -_-.

Sinon j'ai fait un Applet dans lequel j'ai intégré ton code (il n'y a que ton code dedans). J'utilise jBuilder et quand je lance le projet sous jbuilder, il n'y a pas de souci, tout marche nickel.

Cependant quand je met mon .html sur mon site qui appel la classe que j'ai créer, Là ça ne marche plus. D'une j'ai le droit a un "java.security.AccesControlException : acces denied (java.io.FilePermission test.cab write)." . En fait je pense plutot qu'il essaie d'écrire sur le site plutot que sur le disque dur de celui qui navigue. Aurais-tu une solution a ce probleme ?

Merci d'avance.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
30 juin 2006 à 10:46
je n'ai jamais essayé

essai de faire
lire bit
tant que bit lu != -1

ecrire bit
lire bit

si j'ai le temps aujourd'hui j'essai de faire un petit code mais bon ca m'etonnerais
bonne chance
abhoryo Messages postés 28 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 29 août 2008
30 juin 2006 à 01:49
D'après moi, il aime pas byte[] donnees = new byte[FileLenght]; quand le fichier est trop gros, le mien fait dans les 320000000 octets.
N'y aurait-il pas un moyen d'écrire bit à bit pour résoudre ce problème ?
abhoryo Messages postés 28 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 29 août 2008
30 juin 2006 à 01:00
sheorogath, je pense qu'il y a un souci de OutOfMemory quand le fichier est trop volumineux. Une solution pour ça ?
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 juin 2006 à 16:40
avec plaisir^^
cs_kinski Messages postés 1 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 7 juin 2006
7 juin 2006 à 16:18
" wow, c'est super rapide :)
par exemple ca :
http://radioshadowfox.webzzanine.net/sounds/Sonic 3 - FlyingBattery.rbs"

On a eu exactement la meme idée ;)

Merci à sheorogath pour la source !
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
3 avril 2006 à 18:36
lol j'ai fait une source faisant a peu pres ce que tu fait sauf qu'elle n'ecris pas le contenu dans un fichier ( c'est l'affaire de 2 ou 3 ligne n plus)

++
bila5 Messages postés 8 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 3 avril 2006
3 avril 2006 à 12:33
bon merci capoueidiablo c'est vrai ce que vous m'avez dis, mais aprés moi je veux telecharger des pagesdu genre (http://www.liberte-algerie.com/rub.php?idrub=45&rubrique=Sport) si je veux telecharger la page d'une rubrique du journal; et donc j'ai trouver une solution et voila le code si quelqu'un s'interesse

import java.io.*;
import java.net.*;

public class telechargement
{
public static void main(String[] args)
{
try
{
URL UrlTest = new URL("http://www.javafr.com");
String text="";
BufferedReader in = new BufferedReader(
new InputStreamReader(
UrlTest.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null){
text += inputLine +"\n";
}
String FileName = UrlTest.getFile( );
FileName = FileName.substring(FileName.lastIndexOf('/') + 1);
PrintWriter fichier = new PrintWriter(new FileWriter("C:\"+ "\" +FileName));
fichier.write(text);
fichier.close( );
in.close();

}
catch(Exception e){
System.out.println(e.getMessage());
}
}

}
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
2 avril 2006 à 15:14
Le lien de la page d'accueil est : http://www.liberte-algerie.com/index.php
voila voila :)
bila5 Messages postés 8 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 3 avril 2006
2 avril 2006 à 13:56
Salamo alicom (Salut),
j'ai essayer de travailler avec index.xxx ça n'a pas marcher je suis déssus je ne sais pas quoi faire; enfin je vous remercie pour votre idée comme même et si vous avez une autre idée je serais trés enchantée de la connaitre marci.
bila5 Messages postés 8 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 3 avril 2006
2 avril 2006 à 13:23
Merci capoueidiablo pour votre réponse, moi je m'interesse spécialement au site http://www.liberte-algerie c'est pour ça que je ne peux pas essayer google ou autres sites et je te remercie pour l'idée que tu ma donné car j'ai pas fait attention qu'une page d'acceuil d'un site est index.xxx, alors je vais essayer et je vais voir merci encore une fois.
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
30 mars 2006 à 00:28
BILA5
> Habituellement la page d'acceuil d'un site est soit index.html, index.php, index.aspx, ... enfin bref c'est index.xxx
> ensuite http://www.liberte-algerie ne fonctionne pas ... peu etre que c'est pour ca que ca marche pas, t'as essaillé avec un autre site ? google par exemple ...
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
29 mars 2006 à 14:53
j'ai une autre source a mon actif qui s'appel recuperer le code html d'une page ou qqchose de ce genre ... tu l'adapte pour que le code sois ecris dans un fichier

++
bila5 Messages postés 8 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 3 avril 2006
29 mars 2006 à 12:14
Bonjour tout le monde;
moi je cherche à telecharger un fichier (.html) mais j'arrive pas à le faire avec votre programme car ce que j'ai constaté qu'avec votre programme il faut donner l'url du fichier en spécifiant à la fin l'extention par exemple(http://www.liberte-algerie//LA UNE.pdf) ou n'importe quelle autre extention; or moi je cherche à telecharger la page d'acceuil de ce site(http://www.liberte-algerie) tout court mais avec cette url l'execution du programme leve des exeptions et je sais pas quoi fare est ce que quelqu'un peut m'aider c'est urgent!!
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
13 févr. 2006 à 19:26
ok ^^

de rien et content d'avoir pu etre utile ^^
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 févr. 2006 à 19:05
dans le constructeur
// au debut juste apres le prototype du constructeur
HOST = HOST.replace(" ", "%20"); // %20 est un espace en ascii

dans getFile(URL)
FileName = FileName.substring(FileName.lastIndexOf('/') + 1);
FileName = FileName.replace("%20", "_"); // et on enleve les %20 et on les remplaces par des '_'

voila, les trim c'set juste pour les espaces gauche et droit je crois bien ...

merci pour ta classe ;)
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
13 févr. 2006 à 18:58
String trim()
;)
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 févr. 2006 à 18:51
Trouvé !!!

le problème survient lorsque le nom de fichier contient des espaces ... je pense qu'il faudrait les échapper ... je me penche sur le problème et je poste dès que je trouve ;)
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 févr. 2006 à 18:43
wow, c'est super rapide :)
par exemple ca :
http://radioshadowfox.webzzanine.net/sounds/Sonic 3 - FlyingBattery.rbs

les URLs sont récupérées dynamiquement et je les cast en string ... normalement y'a pas de souci

voila mon code :
urltmp = new URL((String)lst_result.getSelectedValue());
HTTPGetFile.getFile(urltmp);
Minege Messages postés 23 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 27 janvier 2015 > capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010
28 juil. 2013 à 22:58
Salut, tu dois le mettre ou le code que tu as casté ?
Merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
13 févr. 2006 à 18:39
tu peut me passer l'url stp que je teste moi meme
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 févr. 2006 à 18:38
Me concernant,

j'ai beau essailler d'utiliser t'as classe, il me prend bien le nom de fichier contenu dans l'url, me créer le fichier, mais ne le rempli pas, (il ne fait que 318octets) ...

une idée ?
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
6 janv. 2006 à 17:55
FileOutputStream WritenFile = new FileOutputStream("mochemin"+ "\" +FileName);
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
6 janv. 2006 à 01:21
tu pourrais nous expliquer comment enregitrer le fichier vers une destination précise??? (ex: C:/monbazar/mesUrl/)
Merci
GillesWebmaster
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 oct. 2005 à 19:29
laisser des commentaire avec vos notes svp !!
merci
++
Rejoignez-nous