FtpWebResponse,操作超时

本文关键字:超时 操作 FtpWebResponse | 更新日期: 2023-09-27 18:22:35

我想从ftp服务器下载基于日期时间的文件。。我可以从CuteFtp第三方访问这个Ftp,一切都很好。。但是当我在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();

请帮助:(

FtpWebResponse,操作超时

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

reqFTP.UsePassive = true;