【发布时间】:2024-06-17 23:15:02
【问题描述】:
我正在尝试使用此代码从 Windows 机器上使用 C# 对 Solaris 机器下载文件,我收到错误 550 - 文件不可用。
string fileName = FileName();
string remoteUri = "xxxx";
var webClient = new WebClient();
webClient.Proxy = null;
webClient.Credentials = new NetworkCredential(Settings.Default.FtpUser, Settings.Default.FtpPassword);
webClient.BaseAddress = "ftp://"+Settings.Default.FtpHost;
webClient.DownloadFile(remoteUri, fileName);
我已验证 URI 在 Internet Explorer 的地址行中使用时可以正常工作。
URI 如下所示
Unix端登录后的实际位置是
/opt/scripts/overnight/test.txt
在 Unix 方面。
我可以在输入我的用户名和密码后查看该文件。我究竟做错了什么?我还可以采取哪些其他步骤?有没有简单的方法来使用更多的手动 ftp?
【问题讨论】:
-
如果您已验证文件的位置完全正确,那么 550 可能会说“文件不可用”,而实际上服务器由于网络凭据不准确而拒绝访问文件本身。这可能是因为您尝试通过 Web 客户端而不是通过 ftp 客户端进行 ftp。你不使用 FtpWebRequest 有什么原因吗? msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx
-
这是另一篇有趣的文章,答案不同:*.com/questions/2781654/ftpwebrequest-download-file
-
第二个非常适合 - 非常感谢。
-
如果您提供链接作为答案,那么我会接受。