Connaitre la taille d'un fichier par FTP avec l'api Wininet en C

Connaitre la taille d'un fichier par FTP avec l'api Wininet en C - Programmation

Marsh Posté le 02-05-2001 à 00:16:19    

Comment récuperer la taille d'un fichier accessible par FTP?
Pour ouvrir la connection j'utilise InterentOpen() et InternetOpenUrl().
J'arrive à récupérer la taille d'un fichier par HTTP mais je sais pas comment faire par FTP.
 
Quelqu'un peut m'aider?
 
Merci

Reply

Marsh Posté le 02-05-2001 à 00:16:19   

Reply

Marsh Posté le 02-05-2001 à 00:53:10    

tu peux aussi ouvrir une socket et jouer ensuite du protocole ftp (size 'fichier').


---------------
Do androïds dream of electric sheep ?
Reply

Marsh Posté le 02-05-2001 à 00:56:43    

Je me suis déjà amusé a reimplémenter le protocole FTP et c'est la galère de gerer tous les cas.
C'est pour ça que j'ai préféré passer par wininet, qui marche très bien d'ailleurs.
Mon seul problème : récupérer la taille d'un ficher par FTP avec Wininet.

Reply

Marsh Posté le 02-05-2001 à 07:43:24    

slashp a écrit a écrit :

Je me suis déjà amusé a reimplémenter le protocole FTP et c'est la galère de gerer tous les cas.




 
Je sais que çà n'apporte pas une réponse mais je suis entièrement d'accord avec toi :bounce:

Reply

Marsh Posté le 02-05-2001 à 09:41:02    

T'utilise FtpGetFileSize(hRemFile, &dwRemFileSize)
avec avoir ouver le fichier avec FtpOpenFile et tu as la taille de ton fichier.
Cela dit je suis d'accord avec nicotine, il vaut mieux implémenter ftp pour 2 raisons : portabilité et le fait que wininet est obsolète. Mais on n'a rien sans rien : c'est beaucoup plus dur...
 
A+

 

[edit]--Message édité par Amadeus--[/edit]

Reply

Marsh Posté le 02-05-2001 à 09:53:09    

La fonction FtpGetFileSize(hRemFile, &dwRemFileSize) n'est pas réferencée dans les MSDN, et lorsque je compile avec VC++ me génère une erreur car il ne connait pas la fonction.
Pourquoi?
 
Sinon je veux downloader en FTP+HTTP, reimpémenter les deux protocoles prendrait trop de temps... c'est pourquoi je passe par Wininet
 
PS:Pourquoi Wininet est obsolète?

Reply

Marsh Posté le 02-05-2001 à 10:27:25    

Si tu inclues wininet.h et la librairie d'imp. wininet.lib (qui est dans C:\Program Files\Microsoft Visual Studio\VC98\Lib) il ne doit pas y avoir de pb.
Précision : j'ai viré les headers et les libs wininet de vc++ que j'ai remplacé par ceux téléchargés sur le site de ms : http://msdn.microsoft.com/Download [...] sample.asp
 
Fais de même et ça marchera.
 
PS. : la dll wininet est installée pas ie5.
 
 

slashp a écrit a écrit :

La fonction FtpGetFileSize(hRemFile, &dwRemFileSize) n'est pas réferencée dans les MSDN, et lorsque je compile avec VC++ me génère une erreur car il ne connait pas la fonction.
Pourquoi?
 
Sinon je veux downloader en FTP+HTTP, reimpémenter les deux protocoles prendrait trop de temps... c'est pourquoi je passe par Wininet
 
PS:Pourquoi Wininet est obsolète?



 

[edit]--Message édité par Amadeus--[/edit]

Reply

Marsh Posté le 02-05-2001 à 11:26:06    

Merci

Reply

Marsh Posté le 03-05-2001 à 23:02:20    

Amadeus:
J'ai downloadé les nouveaux headers et libs sur le site de microsoft, j'ai rajouté le path /lib et /include dans les options de VC++ comme spécifié par microsoft.
 
Le problème arrive quand je recompile mon prog qui marchait très bien avant, il me met 40 erreurs dans les fichier headers de microsoft...
Je comprends pas.
T'as fait quelle manip pour installer les headers et les libs toi?
 
Merci

Reply

Marsh Posté le 04-05-2001 à 13:48:14    

UP

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed