Heim >Backend-Entwicklung >C++ >Wie kann man FTP-Verzeichnislisten in C# effizient analysieren?
Analyse der FTP-Antwort von WebRequestMethods.Ftp.ListDirectoryDetails in C#
Die Methode FtpWebRequest.ListDirectoryDetails ermöglicht den Abruf detaillierter Informationen zu Dateien und Verzeichnissen in ein FTP-Server. Das Parsen der Antwort dieser Methode kann jedoch aufgrund der unterschiedlichen Formate, die von verschiedenen FTP-Servern verwendet werden, eine Herausforderung darstellen.
Benutzerdefiniertes Parsen für verschiedene Antwortformate
Zum Parsen der Antwort nahtlos kann eine benutzerdefinierte C#-Klasse erstellt werden, die die verschiedenen Formate verarbeitet. Zum Beispiel:
string pattern = @"\s+(\d+)(\w+)(\s+|\s*\d+[^ ].+)(.*)"; Regex regex = new Regex(pattern); FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/"); request.Credentials = new NetworkCredential("user", "password"); request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()); while (!reader.EndOfStream) { string line = reader.ReadLine(); Match match = regex.Match(line); if (match.Success) { string fileName = match.Groups[4].Value.Trim(); long size = long.Parse(match.Groups[1].Value); string lastModified = match.Groups[2].Value + " " + match.Groups[3].Value; bool isDirectory = match.Groups[1].Value.StartsWith("d"); Console.WriteLine("{0}\t{1}\t{2}", fileName, lastModified, size); } }
Verwendung eines modernen FTP-Clients mit maschinenlesbarer Antwort
Es wird jedoch empfohlen, einen FTP-Client zu verwenden, der den MLSD-Befehl unterstützt. die Verzeichnislisten in einem maschinenlesbaren Format zurückgibt. Das Parsen der für Menschen lesbaren LIST-Befehlsantwort sollte der letzte Ausweg für veraltete Server sein, die MLSD nicht unterstützen.
Bibliotheken von Drittanbietern wie WinSCP .NET bieten FTP-Client-Funktionalität mit Unterstützung für MLSD und verschiedene für Menschen lesbare Formate auflisten. Dies vereinfacht das Parsen von FTP-Verzeichnislisten.
Vorteile der Verwendung einer Drittanbieterbibliothek
Das obige ist der detaillierte Inhalt vonWie kann man FTP-Verzeichnislisten in C# effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!