我有代碼什麼獲取某個FTP目錄的內容。在我測試過的一些服務器上,它工作正常。獲取FTP目錄內容的問題,如果它是空的
但是在一個服務器上,當我們嘗試獲得響應時,此方法會引發異常。
public static List<string> ListDirectory(string dirPath, string ftpUser, string ftpPassword)
{
List<string> res = new List<string>();
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(dirPath);
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential(ftpUser, ftpPassword);
request.KeepAlive = false;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
while (!reader.EndOfStream)
{
res.Add(reader.ReadLine());
}
reader.Close();
response.Close();
return res;
}
在保持部分我有這樣的事情
catch (WebException e)
{
FtpWebResponse response = (FtpWebResponse)e.Response;
/*in my case response.Status = ActionNotTakenFileUnavailableOrBusy*/
....
}
它的工作原理之前,但現在當文件夾爲空失敗。如果有什麼有效的話。我可以用TotalCommander看到這個目錄。
任何想法爲什麼?
你被允許使用一個外部庫,而不是內置類? – Steve 2013-04-30 14:48:39
是的,我允許。但它需要很多改變。 – Vitalii 2013-04-30 15:07:42
好的,我將使用CodePlex提供的免費System.Net.FtpClient添加一個示例。告訴我你是否可以使用它 – Steve 2013-04-30 15:20:28