Accueil > > > GETFILEFTP : PERMET DE RÉCUPÉRER UN FICHIER SUR UN SERVEUR FTP
GETFILEFTP : PERMET DE RÉCUPÉRER UN FICHIER SUR UN SERVEUR FTP
Information sur la source
Description
Voici la fonction principale (FTP) Sinon voir le code
Source
- //
- // Source du programme d'envoi de fichier pas protocol FTP
-
- // Parametres :
- // 1. HWND du programme principal
- // 2. Repertoire to Send
-
- // Retour :
- // Créateur : Trinita
- // Copyright : Freeware
- // Date Création : 26/06/2003
- // Date de Modification : 26/06/2003
- // Version : 1.0.0
- //
-
- #include <string.h>
- #include <stdio.h>
- #include <Wininet.h>
- #include <windows.h>
-
- #include "main.h"
- #include "logfile.h"
- #include "ressource.h"
-
- void SendFileFtp ( HWND hDlgSend, char DirFile[MAIN_LEN+1], char DirRep[MAIN_LEN+1] )
- {
- // Déclaration des variables
- // init des variables
- char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1);
- char DirNameFileIni[MAIN_LEN+1]="";
- char NameServeurFtp[MAIN_LEN+1]="";
- char LoginFtp[MAIN_LEN+1]="";
- char PwdFtp[MAIN_LEN+1]="";
- bool ResultFtp;
- char DirToRecupFile[MAIN_LEN+1]="";
-
- // Les handles
- // handle to internet connection
- HINTERNET hInternetSession;
- // handle to FTP session
- HINTERNET hFTPSession;
-
- // Chemin complet du fichier de destination
- strcpy (DirToRecupFile,DirRep);
- strcat (DirToRecupFile,"\\");
- strcat (DirToRecupFile,DirFile);
-
- // Récupération du chemin du fichier ini
- GetFullPathName( NameFileIni, MAIN_LEN+1, Buffer, NULL);
- strcpy ( DirNameFileIni,Buffer );
-
- // Récupération des params
- GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , MAIN_LEN+1 , DirNameFileIni );
- GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , MAIN_LEN+1 , DirNameFileIni );
- GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , MAIN_LEN+1 , DirNameFileIni );
-
- // Ouverture de la connexion
- hInternetSession = InternetOpen ( NameApp , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
- if ( hInternetSession == NULL )
- {
- // Erreur dans l'ouverture de la connexion
- WriteInLogFile ( "Erreur dans l'ouverture de la connexion <InternetOpen>" );
- exit;
- }
-
- // Connexion au serveur FTP
- hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
- if ( !hFTPSession )
- {
- WriteInLogFile ( "Erreur dans l'ouverture de la connexion ftp <InternetConnect>" );
- exit;
- }
- else
- {
- // Réception du fichier FTP
- ResultFtp = FtpGetFile ( hFTPSession, DirFile, DirToRecupFile, NULL, NULL,FTP_TRANSFER_TYPE_ASCII, NULL);
- if ( ResultFtp )
- {
- MessageBox( hDlgSend ,"Opération terminée avec succès !!!!","Information",MB_OK|MB_ICONINFORMATION);
- }
- else
- {
- MessageBox( hDlgSend ,"Erreur dans la réception du fichier, consultez le fichier de trace !!!!","Erreur",MB_OK|MB_ICONWARNING);
- }
-
- // Fermeture de la connexion ftp
- InternetCloseHandle ( hFTPSession );
- }
- // Fermeture de la session
- InternetCloseHandle ( hInternetSession );
-
- return;
- }
-
//
// Source du programme d'envoi de fichier pas protocol FTP
// Parametres :
// 1. HWND du programme principal
// 2. Repertoire to Send
// Retour :
// Créateur : Trinita
// Copyright : Freeware
// Date Création : 26/06/2003
// Date de Modification : 26/06/2003
// Version : 1.0.0
//
#include <string.h>
#include <stdio.h>
#include <Wininet.h>
#include <windows.h>
#include "main.h"
#include "logfile.h"
#include "ressource.h"
void SendFileFtp ( HWND hDlgSend, char DirFile[MAIN_LEN+1], char DirRep[MAIN_LEN+1] )
{
// Déclaration des variables
// init des variables
char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1);
char DirNameFileIni[MAIN_LEN+1]="";
char NameServeurFtp[MAIN_LEN+1]="";
char LoginFtp[MAIN_LEN+1]="";
char PwdFtp[MAIN_LEN+1]="";
bool ResultFtp;
char DirToRecupFile[MAIN_LEN+1]="";
// Les handles
// handle to internet connection
HINTERNET hInternetSession;
// handle to FTP session
HINTERNET hFTPSession;
// Chemin complet du fichier de destination
strcpy (DirToRecupFile,DirRep);
strcat (DirToRecupFile,"\\");
strcat (DirToRecupFile,DirFile);
// Récupération du chemin du fichier ini
GetFullPathName( NameFileIni, MAIN_LEN+1, Buffer, NULL);
strcpy ( DirNameFileIni,Buffer );
// Récupération des params
GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , MAIN_LEN+1 , DirNameFileIni );
GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , MAIN_LEN+1 , DirNameFileIni );
GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , MAIN_LEN+1 , DirNameFileIni );
// Ouverture de la connexion
hInternetSession = InternetOpen ( NameApp , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if ( hInternetSession == NULL )
{
// Erreur dans l'ouverture de la connexion
WriteInLogFile ( "Erreur dans l'ouverture de la connexion <InternetOpen>" );
exit;
}
// Connexion au serveur FTP
hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
if ( !hFTPSession )
{
WriteInLogFile ( "Erreur dans l'ouverture de la connexion ftp <InternetConnect>" );
exit;
}
else
{
// Réception du fichier FTP
ResultFtp = FtpGetFile ( hFTPSession, DirFile, DirToRecupFile, NULL, NULL,FTP_TRANSFER_TYPE_ASCII, NULL);
if ( ResultFtp )
{
MessageBox( hDlgSend ,"Opération terminée avec succès !!!!","Information",MB_OK|MB_ICONINFORMATION);
}
else
{
MessageBox( hDlgSend ,"Erreur dans la réception du fichier, consultez le fichier de trace !!!!","Erreur",MB_OK|MB_ICONWARNING);
}
// Fermeture de la connexion ftp
InternetCloseHandle ( hFTPSession );
}
// Fermeture de la session
InternetCloseHandle ( hInternetSession );
return;
}
Conclusion
Attention il faut la librairie wininet.lib
Historique
- 14 septembre 2009 11:11:41 :
- supp. du zip
- 14 septembre 2009 11:11:42 :
- supp. du zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
FTP [ par David ]
Recherche source pour realiser une connection FTP sur mon serveur pour effectuer le transfert de fichier dans les deux sens Local-->Serveur Serveur
Un lien qui marche pour Dev C [ par Benoit.S ]
Salut a tous, le liens pour telecharger devcpp4.zip dans la rubrique "telechargement utiles" est mort! Apres un petit tour dans le ftp de simtel j'ai
FTP [ par IronLeader ]
Il est fourni dans windows 98 en tout cas ftp.exe !si tu l'as pas je te le donne
Comment envoyer ou recevoir un fichier d'une adresse ftp ? [ par JMGR ]
Tout est dit dans le titre :)ex : bouton "S'incrire" qui envoit le fichier res.txt vers ftp.truc.fr/jmgr/res.txt
client/serveur FTP [ par fab ]
Salut!!!Je développe un prog client/serveur FTP en C++ Builder . Je veux pouvoir envoyer un fichier image au serveur . Pour cela j'utilise le composan
Serveur http/ftp [ par fytlos ]
Salut a tous,Je recherche les sources d'un serveur ftp/http programmé avec WinInet sous Visual c++Merci++
Transfert d'un ftp (2) [ par header ]
Voila le problème :J'ai ouvert un fichier sur un ftp et je me prépare à lire quelques bytes de celui ci. Pourquoi ca marche trés bien avec un fichier
pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ]
Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco
pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ]
Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco
FTP et VC++ 6.0 [ par NonoSoft ]
Je souhaite faire un client FTP très simple en C++ avec Visual C++.Je débute en C++.Quelqu'un peut-il m'aider ?Merci d'avance.@+ et bon surfArnaud
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|