TELECHARGER UN FICHIER A PARTIR D'UNE URL

Signaler
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
-
Minege
Messages postés
23
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2015
-
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

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

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

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
11
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
1
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

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
11
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

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
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

Ok loll
sheorogath
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11
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

(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

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

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
11
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

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

ok merci
sheorogath
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11
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

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
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

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
11
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

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
11
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

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
11
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

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

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
11
avec plaisir^^
cs_kinski
Messages postés
1
Date d'inscription
vendredi 20 juin 2003
Statut
Membre
Dernière intervention
7 juin 2006

" 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
11
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

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
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

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

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
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
11
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

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
11
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
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
11
String trim()
;)
capoueidiablo
Messages postés
316
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
1 février 2010
1
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
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
30 mars 2015
> capoueidiablo
Messages postés
316
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
1 février 2010

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
11
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
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
11
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
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
11
laisser des commentaire avec vos notes svp !!
merci
++