Protocole FTP

francis_andre Messages postés 6 Statut Membre -  
mamiemando Messages postés 33869 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
salut à tous.voila mon pb est simple.je travail sur une application donc l'objectif est de se connecter sur un serveur et récupérer un fichier qui me servira pour la suite.
quelqu'un pourrait m'aider à l'implémentation du protocole ftp dans mon application?
merci d'avance
A voir également:

4 réponses

mamiemando Messages postés 33869 Date d'inscription   Statut Modérateur Dernière intervention   7 902
 
Pour commencer tu peux lire ça :
https://www.commentcamarche.net/contents/519-le-protocole-ftp-file-transfer-protocol

En terme d'implémentation tu dois ouvrir un socket vers le serveur ftp (port 21). Tu dois écrire dans ce socket des requêtes FTP (des chaînes de caractères ANSI terminées par \r\n) et normalement tu pourras lire dans ce socket les réponses. Lis-ceci :
https://fr.wikipedia.org/wiki/File_Transfer_Protocol

Quand tu seras authentifié, tu recevras après un PASV :
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2)

... qui te permettra de savoir ou récupérer les données (l'IP h1.h2.h3.h4 n'est dans le cas général pas forcément la même que celle du serveur vers lequel tu as envoyé tes commandes et p1,p2 permet de calculer le port vers lequel ouvrir le socket connexion de données).

Pour voir ce qui se passe en pratique, installe un client et un serveur ftp (par exemple filezilla client et filezilla server) et tu pourras étudier l'échange de messages qui se fait entre le client et le serveur. Ensuite, il faudra que tu reproduises le même échange de message avec ton client FTP et ce sera gagné.

Bonne chance
0
francis_andre Messages postés 6 Statut Membre
 
merci pour ton aide. je vais essayé car je suis actuellement entrain de télécharger filezila serveur.est t'il possible de configurer les deux softs sur le meme pc?
0
Lilian
 
> Configuration: Windows XP

Vu que tu es sous Windows, pour quoi n'utilises tu pas l'api Win32 : 1 ligne de code pour faire ça !!!
0
mamiemando Messages postés 33869 Date d'inscription   Statut Modérateur Dernière intervention   7 902
 
Bah ça dépend en quoi il programme :s En C/C++ il y a moyen de faire un programme portable entre linux et windows avec QT (en utilisant la classe QFtp) :
http://doc.trolltech.com/4.4/qftp.html

Il aura en prime toute une librairie pour créer une interface graphique portable sur les deux systèmes d'exploitation. Ça a tout de suite plus de cachet qu'un programme en Win API32.

Bonne chance
0