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
CSDL FUNCTIONCSDL FUNCTION par Matthieu MEZIL
Dans mon post précédent , j'ai utilisé une CSDL Function afin de générer une requête SQL avec un DateDiff utilisant la date courante sur la BD à partir d'une requête LINQ. Dans le cadre de ce post , vous avez probablement remarqué que dans le cadre de plu...
Cliquez pour lire la suite de l'article par Matthieu MEZIL LINQ TO ENTITIESLINQ TO ENTITIES par Matthieu MEZIL
Cette semaine je suis à Montréal en tant que speaker sur Entity Framework pour l'évènement confoo . J'en profite pour remercier les organisateurs de cet évènement de m'avoir fait confiance et Access-IT de m'avoir permis d'y participer. En parallèle, j'ai ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante [ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|