Comment obtenir des répertoires, des sous-répertoires, des fichiers date de création & temps à partir de FTP serveur distant en C++? Je veux créer un client FTP en C++Comment obtenir les répertoires, les sous-répertoires, la date et l'heure de création des fichiers à partir du serveur distant FTP en C++?
Répondre
CIl n'a pas d'importance de la langue, Une fois que vous êtes connecté au serveur ftp, il suffit d'envoyer les commandes suivantes le protocole FTP ..
Vous devriez vérifier la File Transfer Protocol RFC C'est à dire si vous voulez faire un client FTP à partir de zéro. Vous pouvez utiliser des bibliothèques pour le faire.
Les commandes dont vous avez besoin peuvent être la commande LIST
. Mais c'est merdique. Un nouveau RFC met à jour le premier et ajoute deux nouvelles commandes qui font exactement ce que vous voulez. Ces commandes sont MLST
et MLSD
et vous pouvez voir le RFC 3659 here. Vous devriez faire attention, je pense que tous les serveurs ftp n'acceptent pas ces commandes.
Un pense que vous pouvez faire, est d'utiliser un renifleur comme Wireshark pour renifler et obtenir des informations sur quelles commandes sont utilisées par les clients FTP. (BTW: les filtres Wireshark doivent être: ftp || ftp-data)
La commande FTP Linux utilise LIST
pour sa commande dir.
@Marco: je veux obtenir la date et l'heure de création de fichiers.folders etc ... J'ai créé un client FTP en C++ . J'utilise CFtpConnection pour me connecter au serveur FTP. –
Dans la RFC, il est spécifié la commande LIST, mais une mise à jour a ajouté deux nouvelles commandes (MLST et MLSD). En envoyant ces commandes, vous devriez obtenir l'information que vous voulez. Ces commandes sont spécifiées dans RFC 3659 qui met à jour le premier rfc. Je vais modifier mon post pour l'ajouter. – Marco
@Marco: Mais j'utilise CFTPsession, CFtpConnection, GetFtpConnection pour me connecter à FTP et ensuite utiliser CFtpFileFind pour trouver tous les fichiers et répertoires présents dans le serveur dans ce cas comment je peux utiliser ces commandes ci-dessus pour le faire ou si vous avez un autre FTP bibliothèque client C++? –
Il y a deux aspects à cela ... d'abord vous devez sélectionner des fonctions de socket C++ (ou C) à utiliser pour établir la connexion, alors vous devez implémenter le protocole d'envoi/réception attendu avec FTP pour demander et récupérer le répertoire et le contenu du fichier qui vous intéresse. (En pratique, bien que vous ne l'ayez pas mentionné, vous êtes probablement également intéressé par l'écriture des données récupérées quelque part dans votre propre système).
Il existe de nombreux choix concernant l'implémentation de socket ... vous pouvez utiliser l'API de socket BSD ou trouver une API C++ prédéfinie. La façon dont vous l'implémentez, ou la bibliothèque qui vous convient le mieux, dépend grandement de l'architecture de votre client: mono ou multi-thread, récupération d'un fichier à la fois ou téléchargement de centaines en parallèle. Pour le FTP, le document RFC spécifiant le protocole d'échange peut facilement être trouvé en cherchant sur le net, mais sera un travail considérable à implémenter à partir de zéro.
Vous pouvez également trouver une bibliothèque qui implémente déjà le protocole FTP et l'intégrer dans une application. Il n'est pas clair à partir de votre question exactement ce que vous considérez comme «créer un client», alors cela peut ou peut ne pas compter.
Bien sûr, il existe des dizaines de clients ftp simples que vous pouvez télécharger pour l'exemple de code, surtout si vous comptez les implémentations C qui seraient construites et qui peuvent être personnalisées en C++.
libcURL est très utile pour ce genre de chose:
Les gars je veux obtenir la date de création et l'heure de files.folders etc ... J'ai créé le client FTP en C++. J'utilise CFtpConnection pour me connecter au serveur FTP. –
- 1. Obtenir des informations sur les fichiers (dates d'accès/de modification) à partir du serveur FTP (C#)
- 2. Comment obtenir un sous-répertoire à partir du serveur FTP?
- 3. Comment obtenir des fichiers à partir de répertoires en Python
- 4. Date de création Récupération de fichiers (FTP)
- 5. Liste uniquement les fichiers et la dernière date de modification d'un serveur FTP avec C#
- 6. Récursivement PUT fichiers à un serveur distant en utilisant FTP
- 7. FTP transférer tous les fichiers dans un répertoire distant, et modifier les autorisations, en utilisant PHP
- 8. Gestion des retards lors de la récupération de fichiers à partir du serveur distant en PHP
- 9. FTP uniquement les fichiers modifiés dans MSBuild
- 10. Énumère récursivement les fichiers et les répertoires en C#
- 11. IIS FTP 7.5 Création de répertoires imbriqués
- 12. comment récupérer une série de fichiers à partir d'un serveur FTP en utilisant C#
- 13. Vous voulez savoir comment ftp le fichier du serveur distant
- 14. Comment obtenir uniquement la date à partir du serveur SQL
- 15. Obtenir les fichiers d'origine créer la date lors du téléchargement
- 16. Localisation des dates à partir du serveur distant
- 17. Recherche de tous les fichiers pour les fichiers correspondant à la regex sur le serveur FTP en C# .NET
- 18. Traverse ftp sous-dossiers pour obtenir la taille des fichiers en C#
- 19. Comment spécifier les répertoires FTP source et de destination dans une tâche de script?
- 20. Obtenir la liste des fichiers par FTP
- 21. Comment récupérer les noms de fichiers et de sous-répertoires à partir d'un répertoire dans C?
- 22. Objectif-c: Obtenir la date de création du fichier
- 23. Rechercher des fichiers sur un serveur distant
- 24. obtenir l'image du serveur distant
- 25. Création de répertoires à partir du nom de fichier?
- 26. BlackBerry - Lecture vidéo MP4 à partir du serveur distant
- 27. Obtenir l'horodatage des éléments de la liste de fichiers FTP
- 28. installer apk à partir du serveur distant
- 29. Comment obtenir les contenus des répertoires imbriqués en Perl
- 30. lire les fichiers du répertoire et des fichiers de filtre à partir de Java
quel système d'exploitation ou d'une bibliothèque? – Jasper
@jasper: Windows –
RTFM: http://www.faqs.org/rfcs/rfc959.html –