TÉLÉCHARGER UN FICHIER À PARTIR D'UNE URL HTTP

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 4 janv. 2006 à 18:54
poullin Messages postés 6 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 février 2009 - 20 févr. 2009 à 14:11
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/35410-telecharger-un-fichier-a-partir-d-une-url-http

poullin Messages postés 6 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 février 2009
20 févr. 2009 à 14:11
J'ai adapté mon fichier exécutable en y associant un fichier "manifest" qui courcircuite les demandes de vista. Le fichier se lance par double click comme sous XP ou 2000 Pro. J'ai utilisé des infos trouvées sur un forum de développeurs.
Le problème est peut être que le téléchargement d'un fichier par URLDownLoadToFile est "filtré" par Vista Pro et interdit ce chargement.
Je n'ai pas la possibilité de tester dans l'immédiat, ne possédant pas vista.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 févr. 2009 à 13:56
TOUJOURS lancer VB6.exe en mode administrateur
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
20 févr. 2009 à 12:58
Tu as essayé de lancer ton appli en tant qu'admin ?
poullin Messages postés 6 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 février 2009
20 févr. 2009 à 12:38
Bonjour,
J'utilise cette fonction dans un programme Vb6.
Aucun problème avec Windows 2000 pro, Xp familiale, Xp Pro, Vista familiale.

Un cas de non fonctionnement avec Vista version Pro.
Quelqu'un connaîtrait-il la raison ou aurait-il rencontré ce problème?

Merci d'avance.
poullin
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 mars 2008 à 17:38
le temps d'aller sur la page de doc consacrée a cette fonction:
http://msdn2.microsoft.com/en-us/library/ms775123(VS.85).aspx

on voit:
Minimum availability Internet Explorer 3.0
Minimum operating systems Windows NT 4.0, Windows 95


donc a priori, ok pour vista
badr07 Messages postés 53 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 15 novembre 2006
30 mars 2008 à 16:40
Bonjour, le programme est compatible sur vista ?
cs_hippo92210b Messages postés 59 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 décembre 2009
26 mars 2008 à 22:14
Bravo il y a un système de mise a jour de programme mais pour le téléchargement on passait par internet explorer mais maintenant ... grâce a toi mon système est beaucoup mieux !!!

BRAVOS

(10/10)
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
22 nov. 2007 à 17:34
C'est exactement ce que je cherchais!

Mais il j'aimerais améliorer cette fonction choisissant de télécharger un dossier complet ou mieux télécharger tous les fichier d'un dossier avec une extension donnée.

Si quelqu'un a une idée.

Merci d'avance
cs_rocker Messages postés 23 Date d'inscription mardi 11 octobre 2005 Statut Membre Dernière intervention 21 décembre 2011
27 janv. 2007 à 19:22
Vraiment bien ce code! Peut etre tres utile pour les dll et ocx manquants !
cs_BoRom Messages postés 9 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 9 janvier 2008
13 nov. 2006 à 18:00
Salut,

Il y a un exemple utilisant une barre de progression, et expliquant comment effacer le fichier du cache (pour le "bug" mentionné, lorsque l'on télécharge un nouvelle fois le fichier) à cette adresse :

http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=64914&lngWId=1

Mais il faut utiliser la librairie tl_ole...

Quelqu'un sait-il comment gérer directement la fonction "IBindStatusCallback" ?

Merci
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 sept. 2006 à 08:10
winsock, Inet, y'a pluseurs solutions qui te permettraient de ne pas figer l'appli
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
5 sept. 2006 à 01:50
moi il va tres bien mais quand j'integre ton prog dans une form deja surchargee de code bah si le fichier est gros a telecharger sa fige l'api et fais ne repond pas :-/
je dois utiliser une new frm juste pour ca pour les gros fichier pour pas que ca plante ou une soluce ou quoi ? svp ^^
cs_bellage Messages postés 2 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 20 juillet 2006
20 juil. 2006 à 13:55
merci pour ce code !au début il y a des pbs mais tous est résolu
sylvanox Messages postés 19 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 mai 2016
25 mai 2006 à 16:49
Merci elle est parfaite ta source ! marche très bien, pile ce que je voulais !

:D
alosamoelle Messages postés 129 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 23 mai 2009 1
19 mai 2006 à 19:41
Merci c'est exactement ce que je cherchai
racattac13 Messages postés 62 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 14 février 2010
10 mai 2006 à 12:58
Salut
merci , j'allais m'y mettre de toute facon a wininet.dll, meme si c'est plus lourd a mettre en oeuvre ...
a Plus et merci
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 mai 2006 à 14:30
tu peux utiliser (un composant) Inet....
racattac13 Messages postés 62 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 14 février 2010
9 mai 2006 à 13:50
Salut

pour B4loo
essaie de mettre ca
ex : URLDownloadToFile(0, "url", App.Path & "/fichier.txt", &H10, 0)

suite cette explication :
'Download the file. BINDF_GETNEWESTVERSION forces
'the API to download from the specified source.
'Passing 0& as dwReserved causes the locally-cached
'copy to be downloaded, if available. If the API
'returns ERROR_SUCCESS (0), DownloadFile returns True.

et BINDF_GETNEWESTVERSION = &H10


sinon moi je cherche a rendre cette fonction non bloquante pour le reste de l'application , je m'explique pendant que je telecharge un mp3 ( ca dure une trentaine de seconde en wifi ) , le reste de l'appli et bloqué ... ni telechargé une aute ou meme fermé l'appli , obligé d'attendre
Merci et a plus
cs_db30 Messages postés 1 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 1 avril 2006
1 avril 2006 à 19:51
Mon gars je te "baiserais" les pieds pour ces quelques lignes de code.
Je suis sûrement nul de ne pas avoir trouvé ton code plus tôt ça fait 3 jours que je "m'esquinte".

Je te remercie mille fois, toi pour ce code; DeAtHCrAsH pour m'avoir mis sur la voie de URLDownloadToFile(), et VinceExtense pour sa question du 05/08/2004 14:17:51 qui est en fait à l'origine de la découverte de ton source.

Merci.

PS:
Sans vouloir abuser du context, est-ce que tu sais où je peux touver une instruction equivalente à l'extraction (décompression) de fichier de XP?
ex: Decomp c:\monFic.zip c:\MonFicDecomp.xls
NB:En vb ou dans une ligne de commande que je pourrais intégrer dans un module vb.

Damien
B4loo Messages postés 13 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 14 mars 2006
14 mars 2006 à 13:02
Slt, j utilise actuelement la mm api pour telecharger des fichier texte sur un serveur distant.

ex : URLDownloadToFile(0, "url", App.Path & "/fichier.txt", 0, 0)

Le seul pb que j 'ai c'est que si j upload un nouveau fichier texte sur le serveur distant, tant que je n ai pas "reactualiser" ce fichier via IE, l Api ne telecherge pas le nouveau, comme si il telechargeai le fichier a travers le cache de IE ...

Aurai tu rencontré le mm probleme ?
Si oui , as tu une solution ?

merci d avance
bobjay Messages postés 66 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 1 avril 2007
15 janv. 2006 à 23:01
Je suis heureux de voir que cette petite source s'avère un peu utile, et dire que j'ai hésité avant de la poster...
Pour les questions au niveau des capacités de l'api, je suis au regret de pas pouvoir vous répondre car je débute dans le domaine de l'exploitation de celles-ci. Je peux juste vous spécifier que cette api fonctionne très bien à travers un routeur physique, sous windows xp pro, et que j'ai réalisé cet exemple sous VB6.

@++
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 janv. 2006 à 09:53
je ne pense pas, au contraire...
certaines API (iNet, par exemple) intègrent des parametres permettant de rentrer des parametres pour le Proxy
e_NeX Messages postés 104 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 30 novembre 2009
8 janv. 2006 à 21:17
Oui, ca serait bein de savoir ci cette API gère les proxy... perso je pense que oui mais ca reste à vérifier...
greedium Messages postés 27 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 7 août 2007
5 janv. 2006 à 18:10
Et bien moi qui allais poster une question pour savoir comment télécharger un fichier sur Internet directement par VB ... je suis servi !
Cool, je vais aller tester ça rapidement !

PS: Est-ce que cela gère les Proxy ??
thieryandco Messages postés 13 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 6 janvier 2006
5 janv. 2006 à 09:59
Désolé, je voulais dire, si on utilise les mêmes principes du code quand on programme sous Linux, car quelques codes de Windows et Linux se ressembles (ex: recherche de fichiers dans l'explorateur)
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
5 janv. 2006 à 09:49
Gambas m'enfin voyons Renfield !!!
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 janv. 2006 à 08:38
VB6 sous Linux, j'ai loupé qq chose, là ^^
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
5 janv. 2006 à 08:36
> ya un bug si on programme le code sous Linux

Quand on parle des API sur VBFrance, il s'agit des API Windows, jamais Linux !!! (sauf Mono en .Net mais c'est encore très restrictif)
thieryandco Messages postés 13 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 6 janvier 2006
5 janv. 2006 à 06:41
Super, franchement bravo !
Avant, j'était obligé de rediriger les visiteurs sur mon site mais maintenant, direct téléchargement ses passer par la casse Internet Explorer ! lol
Sinon, ya un bug si on programme le code sous Linux. Il doit manquer un certain fichier j'crois.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 janv. 2006 à 00:44
http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urldownloadtofile.asp

Minimum availability Internet Explorer 3.0
Minimum operating systems Windows NT 4.0, Windows 95
zeboss31 Messages postés 14 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 1 février 2010
4 janv. 2006 à 21:00
J'arrive pas à le faire marcher ce code!! On peut m'expliquer comment faire??
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
4 janv. 2006 à 19:54
Il faut rappeler que la présence de la DLL urlmon.dll sur le disque est nécessaire. Mais apparemment, elle est fournie avec Windows, donc çà va.
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
4 janv. 2006 à 18:54
Bravo
Rejoignez-nous