begin process at 2010 03 14 17:48:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > 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

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :ftp, télécharger-ftp, ftp-répertoire Niveau :Débutant Date de création :26/06/2003 Date de mise à jour :14/09/2009 11:11:42 Vu :10 259

Auteur : Trinita16

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

Source avec Zip EXPORTSQL VIA ODBC : EXEMPLE D'UTILISATION
Source avec Zip Source avec une capture IMPORSQL -> IMPORTATION DE FICHIER AVEC UN LIEN ODBC
STRTOK : EXEMPLE D'UTILISATION
Source avec Zip ENVOI DE FICHIER PAR FTP (SENDFILEFTP)
Source avec Zip DIVERS OUTILS WINDOWS : ENREGISTRER-SOUS...

 Sources de la même categorie

Source avec Zip Source avec une capture CALENDRIER (WIN64) par BruNews
Source avec Zip Source avec une capture IMPRESSION EN WIN32 API AVEC OPTIONS par racpp
Source avec Zip Source avec une capture INFOTIP SHELL EXTENSION (BULLE DE L'EXPLORATEUR WINDOWS) (WI... par racpp
Source avec Zip Source avec une capture BROUILLAGE DES FICHIERS JAVASCRIPT ET CSS(WIN32) par gagah1
Source avec Zip Source avec une capture CHANGE CURSEUR par ganjarasta

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SUR LE THÈME FTP SENDFILE QUELQUES MANIPULATIONS SUR LES TH... par AndreJAO
Source avec Zip Source avec une capture CLIENT FTP (QT) par hibi
Source avec Zip Source avec une capture [C/WIN32] TRANSFERT DE PHOTOS SUR UN FTP. par deck_bsd
Source avec Zip Source avec une capture MYFTP :: FTP EN C SOUS UNIX par Spawnrider
Source avec Zip Source avec une capture BACKUP À DISTANCE VERS UN SERVEUR FTP AVEC GTK ET DES SCRIPT... par mdrjeuxvideo

Commentaires et avis

Commentaire de MoDDiB le 27/06/2003 11:17:28

Enfin une source sur ca ^^
et sur le http?? ca matche ossi??

Commentaire de Trinita16 le 27/06/2003 16:47:34

Tout d'abord merci. Mais je n'ai pas énormement de mérite ! Il suffit dee faire quelques recherches sur le net sur la commande FtpGetFile et voila le tour est joué.
Mais voila je l'ai mis en forme pret à l'emploie.
Autrement pour le HTTP je ne pense pas que ça fonctionne, ce n'est pas le meme port de com... Mais bon à tester....

Bon Dev et Merci @+
Trinita

Commentaire de schub1015 le 15/01/2004 10:30:35

Bonjour,
tout d'abord la source est très bien.
Mais j'aimerais savoir si le transfert concerne tous les fichiers d'un répertoire ou seulement un seul fichier.
Merci pour ta réponse.
Emmanuel

Commentaire de Trinita16 le 15/01/2004 10:37:13

Slt,
L'exmple permet de récupérer un seul fichier sur le serveur FTP.

Mais il doit surement être possible d'en récupérer plusieurs...
Regarde dans la doc du MSDN il y a de bon exemple ....

Trinita16,

Commentaire de camal35 le 02/05/2007 13:00:29

Ton programme a l'air d'être pas mal,par contre je ne vois pas de fichier .dsp ou dsw ni de makefile afin de pouvoir le compiler avec mon visual C++6 .
Merci d'ajouter un fichier .dsp par exemple dans ton fichier ZIP

Commentaire de darkpoulpo le 12/08/2007 16:57:30

cherche CFileX, il gere http, ftp et fichier local de maniere transparent

Commentaire de dimane le 29/12/2009 11:51:54

où je pourrais trouver le zip de cet utilitaire fort simple ??
merci

 Ajouter un commentaire


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--&gt;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


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales