FTP Client代码如下:
FtpWebRequest Request = (FtpWebRequest)WebRequest.Create(Address);
Request.Method = WebRequestMethods.Ftp.ListDirectory; //列表
Request.Credentials = new NetworkCredential(user, pass);
FtpWebResponse Response = (FtpWebResponse)Request.GetResponse();
Stream ResponseStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(ResponseStream);
lstWelcome.Items.Add(Response.BannerMessage);
lstWelcome.Items.Add(Response.WelcomeMessage);
while (!Reader.EndOfStream)//读取列表
{
lstFiles.Items.Add(Reader.ReadLine());
}
Response.Close();
ResponseStream.Close();
Reader.Close();当Address为ftp://127.0.0.1/foldarA/foldarB/时,没有问题.但Address为ftp://127.0.0.1/%2FfoldarA%2FfoldarB%2F时,FtpWebResponse Response = (FtpWebResponse)Request.GetResponse(); 这个地方出错.但这种方法连接别的FTP Server时,不会出错.这个问题如何解决.
FtpWebRequest Request = (FtpWebRequest)WebRequest.Create(Address);
Request.Method = WebRequestMethods.Ftp.ListDirectory; //列表
Request.Credentials = new NetworkCredential(user, pass);
FtpWebResponse Response = (FtpWebResponse)Request.GetResponse();
Stream ResponseStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(ResponseStream);
lstWelcome.Items.Add(Response.BannerMessage);
lstWelcome.Items.Add(Response.WelcomeMessage);
while (!Reader.EndOfStream)//读取列表
{
lstFiles.Items.Add(Reader.ReadLine());
}
Response.Close();
ResponseStream.Close();
Reader.Close();当Address为ftp://127.0.0.1/foldarA/foldarB/时,没有问题.但Address为ftp://127.0.0.1/%2FfoldarA%2FfoldarB%2F时,FtpWebResponse Response = (FtpWebResponse)Request.GetResponse(); 这个地方出错.但这种方法连接别的FTP Server时,不会出错.这个问题如何解决.
http://blog.csdn.net/gisfarmer/archive/2008/09/17/2943126.aspx
这个是.Net FrameWork 2.0 的方法.