【发布时间】:2026-01-17 16:15:01
【问题描述】:
我想根据文件的日期时间从 ftp 服务器下载文件..我可以从 CuteFtp 第三方访问这个 Ftp,一切都很好..但是当我在 GetRespone() 行运行下面的代码时,我明白了错误:操作已超时。
我使用 webclient requet 以编程方式从该 FTP 下载了一个示例文件,这很好..但我需要使用 FtpWebRequest 来获取 listDirectoryDetail 并且 webClient 不支持..还有一件事,请求中有一个例外:@ 987654324@ 抛出了 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();
请帮忙:(
【问题讨论】:
-
您是否检查了 NetworkCredential 用户名和密码?因为我猜你照原样复制了你的代码。
-
当然我已经检查过了!!..使用错误的用户/密码会导致身份验证或登录(不确定)错误。
-
尝试更改 Uri 以映射到物理存在的文件,例如“192.168.1.5:2100/C:/test.txt”,并将请求方法更改为 request.Method = WebRequestMethods.Ftp.DownloadFile; 看看你得到了什么。
-
我之前也这样做过..同样的错误!!!
-
尝试更改端口,设置为默认端口21
标签: c# ftpwebrequest request-timed-out ftpwebresponse