任何人都可以帮助我使用C#中的代码段将本地计算机上的文件传输到使用PSCP(PuTTY)传输方法的远程服务器上吗?我真的很感谢帮助。 谢谢C#中用于文件传输的PuTTY
0
A
回答
1
您可以使用支持SCP的库,如SSHNet或WinSCP。两者都提供样本和测试来证明它们的工作方式。
随着SSH.Net您可以使用此代码(从测试文件)上传文件:
using (var scp = new ScpClient(host, username, password))
{
scp.Connect();
scp.Upload(new FileInfo(filename), Path.GetFileName(filename));
scp.Disconnect();
}
随着WinSCP赋予库中的代码如下所示(从samples):
SessionOptions sessionOptions = new SessionOptions {
Protocol = Protocol.Sftp,
HostName = "example.com",
UserName = "user",
Password = "mypassword",
SshHostKey = "ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.PutFiles(@"d:\toupload\*", "/home/user/", false, transferOptions);
// Throw on any error
transferResult.Check();
}
+0
感谢您的回复。我仍然对我的需求感到困惑。客户要求他们需要使用PuTTY SCP技术传输文件。我不知道这与其他SCP技术有什么不同。您能否或其他人请告诉我或解释在这种情况下应该怎么做?我赞赏你的回复。谢谢。 – Suresh 2012-07-16 14:04:04
0
使用SFTP
和SCP
与.NET库支持的客户端可能是最好的选择。但这里有一个简单的使用方法:PSCP
:
Process cmd = new Process();
cmd.StartInfo.FileName = @"C:\PuTTY\pscp.exe";
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
string argument = @"-pw pass C:\testfile.txt [email protected]:/home/usr";
cmd.StartInfo.Arguments = argument;
cmd.Start();
cmd.StandardInput.WriteLine("exit");
string output = cmd.StandardOutput.ReadToEnd();
相关问题
- 1. 通过Putty传输文件
- 2. 将文件传输到会话中我使用PuTTY登录
- 3. PuTTY/PSFTP文件传输自动化的批处理文件
- 4. 使用c#传输文件
- 5. C++文件传输
- 6. 传输文件C
- 7. 文件传输C++
- 8. 在c#中使用Ymodem文件传输#
- 9. 用于传输文件的Shell脚本
- 10. 用于文件传输的IBM MQ
- 11. 关于hdfs中的传输文件
- 12. 用于文件传输的C#远程流不会读取
- 13. 如何确认使用Putty在PowerShell中上传FTP文件
- 14. C#:控制文件传输*
- 15. 文件传输在C#
- 16. P2P文件传输c#
- 17. FTP文件传输C#
- 18. C文件传输问题
- 19. C++ Builder - 文件传输
- 20. c socket文件传输
- 21. 使用PuTTY从Windows共享路径将文件传输到Unix服务器
- 22. 使用socket_stream jpg文件传输C
- 23. 用于编辑XML文件的Putty命令
- 24. C++ ofstream与C++ cout传输到文件
- 25. C++ - 可执行文件的传输
- 26. erlang中的文件传输
- 27. flex中的文件传输
- 28. FTP中的文件传输
- 29. stdout putty在文本部件
- 30. 使用UDP中的服务器 - 客户端文件传输C
有很多用于.NET的SFTP客户端组件,包括免费的和商业的。为什么使用腻子? – 2012-07-13 14:36:57
[SCP for C#]的可能重复(http://stackoverflow.com/questions/651399/scp-for-c-sharp) – 2012-07-13 14:46:41