Maison > développement back-end > C++ > Comment puis-je analyser efficacement les réponses FTP en C# pour différents formats de liste ?

Comment puis-je analyser efficacement les réponses FTP en C# pour différents formats de liste ?

DDD
Libérer: 2024-12-26 16:18:09
original
207 Les gens l'ont consulté

How Can I Efficiently Parse FTP Responses in C# for Different Listing Formats?

Analyse des réponses FTP avec une classe C# flexible

La gestion des connexions FTP peut être une tâche complexe, en particulier lorsqu'il s'agit de formats de réponse divers. Pour relever ce défi, vous pouvez utiliser la méthode ListDirectoryDetails de FtpWebRequest, mais cela peut toujours nécessiter l'analyse et la gestion des variations dans les réponses.

Analyse des listes de style DOS/Windows

Pour les listings au format DOS/Windows, vous pouvez utiliser le code suivant :

string pattern = @"\^(\d+-\d+-\d+\s+\d+:\d+(?:AM|PM))\s+(<DIR>|\d+)\s+(.+)$";
Regex regex = new Regex(pattern);
IFormatProvider culture = CultureInfo.GetCultureInfo("en-us");
while (!reader.EndOfStream)
{
    string line = reader.ReadLine();
    Match match = regex.Match(line);
    string s = match.Groups[1].Value;
    DateTime modified =
        DateTime.ParseExact(s, "MM-dd-yy  hh:mmtt", culture, DateTimeStyles.None);
    s = match.Groups[2].Value;
    long size = (s != "<DIR>") ? long.Parse(s) : 0;
    string name = match.Groups[3].Value;

    Console.WriteLine(
        "{0,-16} size = {1,9}  modified = {2}",
        name, size, modified.ToString("yyyy-MM-dd HH:mm"));
}
Copier après la connexion

Ceci Le modèle regex correspond aux horodatages, aux tailles de fichiers/répertoires et aux noms pour le style DOS/Windows.

Listes de style UNIX

Pour les listes de style UNIX, pensez à vous référer à les réponses sur la gestion du MLSD pour les répertoires FTP.

Une option alternative : le MLSD moderne Commande

Idéalement, vous pouvez exploiter la commande MLSD pour obtenir des listes de répertoires dans un format structuré. Ceci est préférable à l’analyse du format LIST lisible par l’homme. MLSD est pris en charge par de nombreuses bibliothèques et outils tiers tels que WinSCP.

Conclusion

L'analyse des réponses FTP peut être complexe, mais en utilisant les bons outils et techniques, vous pouvez garantir une gestion fiable des différents formats d’annonces. L'utilisation d'un outil complet tel que WinSCP qui prend en charge à la fois MLSD et LIST peut fournir une solution plus robuste et extensible pour vos besoins de gestion FTP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal