the*_*heo 5 .net c# ftp winscp winscp-net
我需要通过 WinSCP .NET 程序集从 FTP 下载文件。我当前有此代码,但错误显示身份验证失败。
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = "172.xx.xxx.xx",
UserName = "usersample",
Password = "P@ssw0rd",
PortNumber = 21
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Download files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult =
session.GetFiles(
"/HST/sample.txt", "C:\\Users\\john\\Documents\\SampleFolder\\",
false, transferOptions);
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.WriteLine("Download of {0} succeeded", transfer.FileName);
}
Console.ReadLine();
}
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
我从此参考中获取了代码:https ://winscp.net/eng/docs/library_session_getfiles
原来,它有以下内容:
SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
Run Code Online (Sandbox Code Playgroud)
但我删除了它,因为我没有它,而且我认为它是用于 SFTP(不确定)的,我已经手动尝试了凭据,它们可以工作。我能够登录。请帮忙。谢谢。
WinSCP 常见问题解答适用于您的情况:
当我可以使用 GUI 时,为什么我无法使用脚本进行连接/传输(反之亦然)?
首先,最简单的解决方案是使用GUI 会话中的“生成传输代码”功能来获取工作代码模板。
生成传输代码对话框打开。选择.NET 程序集选项卡并确保选择C#语言。
| 归档时间: |
|
| 查看次数: |
11166 次 |
| 最近记录: |