我想从ftp服务器上下载基于日期时间的文件..我可以从CuteFtp第三方访问这个Ftp,而且每件事都是Okey ..但是当我在GetRespone()
行运行下面的代码时我得到此错误:操作已超时。
我用webclient requet以编程方式从这个FTP下载了一个示例文件,它很好..但是我需要使用FtpWebRequest
来获取listDirectoryDetail并且webClient不支持那个......还有一件事,请求中有一个例外:FtpWebRequest.ContentType
抛出类型为System.NotSupportedException
的异常。
这是我的代码:
Uri uri = new Uri("ftp://192.168.1.5:2100/");//the private address
if (uri.Scheme != Uri.UriSchemeFtp)
{
return;
}
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)WebRequest.Create(uri);
reqFTP.Credentials = new NetworkCredential("myuser", "mypass");
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
reqFTP.UseBinary = true;
reqFTP.Proxy = null;
reqFTP.UsePassive = false;
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
请帮助:(
答案 0 :(得分:13)
我解决了我的问题!... UsePassive属性应设置为True,当客户端应该在数据端口上启动连接时
reqFTP.UsePassive = true;