How to List Directory Contents with FTP in C#?
93,725
Solution 1
Try this:
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(uri);
ftpRequest.Credentials =new NetworkCredential("anonymous","[email protected]");
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());
List<string> directories = new List<string>();
string line = streamReader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
directories.Add(line);
line = streamReader.ReadLine();
}
streamReader.Close();
It gave me a list of directories... all listed in the directories string list... tell me if that is what you needed
Solution 2
You need ListDirectory that lists the directory contents
EDIT: Or you can use this Chilkat library that wraps it up nicely for you
Solution 3
You are probably looking for PrintWorkingDirectory
Solution 4
Some proxies reformat the directory listing, so it's quite difficult to parse a directory listing reliably unless you can guarantee that the proxy doesn't change
Author by
Swapnil Gupta
Updated on December 19, 2020Comments
-
Swapnil Gupta over 3 years
How to List Directory Contents with FTP in C# ?
I am using below code to List Directory Contents with FTP it is returning result in XML format ,but i want only the name of directory not the whole content.
How i Can do that ?
public class WebRequestGetExample { public static void Main () { // Get the object used to communicate with the server. FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/"); request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; // This example assumes the FTP site uses anonymous logon. request.Credentials = new NetworkCredential ("anonymous","[email protected]"); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream); Console.WriteLine(reader.ReadToEnd()); Console.WriteLine("Directory List Complete, status {0}", response.StatusDescription); reader.Close(); response.Close(); } }