Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

telechargement contenu fichier

3 réponses
Avatar
zedrummer
Bonjour
Est-il possible (et comment) telecharger un fichier sur le net, ceci sans qu'il soit stocke sur l'ordinateur?
Genre faire un fopen("http://adresse/monfic.bin","rb"); fread(...); fclosepour stocker directement dans un espace memoire sans laisser de fichier dans les fichiers internet temporaires ou ailleurs.
Merci
Cordialement
Cathy L.

3 réponses

Avatar
Antoine Leca
écrivit :
Bonjour
Est-il possible (et comment) telecharger un fichier sur le net, ceci sans
qu'il soit stocke sur l'ordinateur?



Il faut implémenter le protocole de transfert de fichiers.

Genre faire un fopen("http://adresse/monfic.bin","rb"); fread(...); fclose
pour stocker directement dans un espace memoire sans laisser de fichier
dans les fichiers internet temporaires ou ailleurs.



Ce ne sera pas fxxx, puisque f désigne l'implémentation du protocole
d'accès aux fichiers locaux de l'ordinateur, et tu veux justement un
autre protocole.

Tu vas donc devoir écrire des fonctions httpopen(), httpread() et
httpclose() qui vont se charger de l'implémentation du protocole (ouvrir
un socket, attendre le temps qu'il faut ce qui peut vouloir dire avoir
une exécution parallèle, interpréter les codes de retour etc.)


Antoine
Avatar
PIGUET Bruno
Le Fri, 10 Aug 2012 10:15:07 +0200, Antoine Leca a écrit :


[...] Tu vas donc devoir écrire des fonctions httpopen(), httpread() et
httpclose() [...]



Dans un but didactique, ou bien paranoïaque (être sûr de maîtriser
tout ce qui se passe), je comprends.

En pratique, il existe des bibliothèques (en C, mais qui ne font
évidement pas partie du standard ni de la libc) qui font ce travail.
Je pense à curl ( http://curl.haxx.se/libcurl/c/ ) mais ce n'est sans
doute pas la seule.

Bruno.
Avatar
cLx
On 10/08/2012 13:39, PIGUET Bruno wrote:
Le Fri, 10 Aug 2012 10:15:07 +0200, Antoine Leca a écrit :


[...] Tu vas donc devoir écrire des fonctions httpopen(), httpread() et
httpclose() [...]



Dans un but didactique, ou bien paranoïaque (être sûr de maîtriser
tout ce qui se passe), je comprends.

En pratique, il existe des bibliothèques (en C, mais qui ne font
évidement pas partie du standard ni de la libc) qui font ce travail.
Je pense à curl ( http://curl.haxx.se/libcurl/c/ ) mais ce n'est sans
doute pas la seule.

Bruno.





Bonsoir,

Je l'ai fait (parce que c'était plus rapide à implémenter que de trouver LA
bonne bibliothèque qui va fonctionner sous tous les systèmes) ici :

http://minichatclient.sourceforge.net/

--
cLx