FtpWebResponse,操作超时

时间:2013-07-16 06:59:10

标签: c# ftpwebrequest request-timed-out ftpwebresponse

我想从ftp服务器上下载基于日期时间的文件..我可以从CuteFtp第三方访问这个Ftp,而且每件事都是Okey ..但是当我在GetRespone()行运行下面的代码时我得到此错误:操作已超时。 我用webclient requet以编程方式从这个FTP下载了一个示例文件,它很好..但是我需要使用FtpWebRequest来获取listDirectoryDe​​tail并且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();

请帮助:(

1 个答案:

答案 0 :(得分:13)

我解决了我的问题!... UsePassive属性应设置为True,当客户端应该在数据端口上启动连接时

reqFTP.UsePassive = true;