有没有好的免费 .Net 网络库? (FTP、SFTP、SSH 等)[关闭]
Posted
技术标签:
【中文标题】有没有好的免费 .Net 网络库? (FTP、SFTP、SSH 等)[关闭]【英文标题】:Are there any good free .Net network libraries? (FTP, SFTP, SSH, etc.) [closed] 【发布时间】:2010-09-14 06:30:30 【问题描述】:我有点惊讶我还没有找到一个好的开源库来执行常见的网络任务。有一些非常好的商业库,但在开源项目中使用它们太贵了。
有人知道吗?
【问题讨论】:
【参考方案1】:SSH.NET 库 - https://github.com/sshnet/SSH.NET
受 Sharp.SSH 启发,该库使用 .NET 4.0 完全重写,没有任何第三方依赖项,并尽可能利用并行性以实现最佳性能。
这是客户端 SSH 的可靠 C# 实现。
【讨论】:
比 SharpSsh 更好的实现并且正在积极开发中。强烈推荐。【参考方案2】:edtFTPNet 是免费的,但您必须购买他们的“专业”版本才能获得 SFTP(基于 SSH 的 FTP)和 FTPS(基于 SSL 的 FTP)。
【讨论】:
【参考方案3】:虽然好久没更新了,但还是免费的!我记得能够让 SharpSSH 轻松运行,并且它支持端口转发(这正是我当时正在寻找的东西!)。
SharpSSH http://www.tamirgal.com/home/dev.aspx?Item=SharpSsh
【讨论】:
它声称支持公钥身份验证,但我永远无法让这部分工作。不过其他基本的 SSH 功能运行良好。 公钥认证对我来说很好,但在其他领域有很多(很多)错误...... 有人在 CodePlex (sharpssh2.codeplex.com) 一直在研究这个,不过我还没有真正使用过它。仍在努力寻找更好的解决方案。 我们也发现了bug(主要是未完成的部分) SharpSSH 并不完美,但它是 .NET 上最好的免费 SFTP 库。【参考方案4】:.Net 通过 System.Net.FtpWebRequest 提供了一些基本的 FTP 支持,但它充其量只是有点粗糙。我可以推荐的一个更好的选择是dotNET FTP client from sourceforge。
我不知道你是否也在寻找电子邮件库,但这是我遇到的,所以我会提到它。
对于电子邮件的撰写和发送,基本的 .NET 库就可以了。 System.Net.Mail.MailMessage 非常适合撰写电子邮件,System.Net.Mail.SmtpClient 适合通过 SMTP 发送电子邮件。
要使用 POP3 检索电子邮件并解析 MIME 消息,您需要一个外部库。 我一直在使用来自 codeproject 的POP3 MIME Client 没有任何问题。
希望对你有帮助!
【讨论】:
【参考方案5】:它不是一个单独的库,我不确定它们有多好,但我可以在这里找到几个开源库的链接:
http://csharp-source.net/open-source/network-clients
希望这会有所帮助! 杰夫
【讨论】:
【参考方案6】:Lumisoft 是开源的,拥有 FTP、DNS、IMAP、POP3 客户端等。但它不包括 SSH 和 SFTP。
【讨论】:
【参考方案7】: 全唱歌全跳舞的解决方案,对我来说看起来不错,但我没有尝试过:http://www.nsoftware.com/products/component/sftp.aspx 我公司使用的SSH/SFTP库:http://www.eldos.com/sbb/net-sftp.php实际上,我目前唯一使用 SFTP 的地方,我使用 putty's 捆绑的 psftp 实用程序,并从进程对象运行它。这可能不是很好,但它对我来说很可靠。
【讨论】:
原始海报想要免费和开源代码。【参考方案8】:IIRC,FTP 内置于 .NET,(System.Net.FtpWebRequest),上次我查看(几年前,诚然)找不到任何免费的 SSH / SFTP 程序集。不过,这可能已经改变了。
【讨论】:
FtpWebRequest 对非标准 ftp 服务器有一些限制/问题 - 例如某些大型无名银行用于 ACH 上传的服务器。如果 ftp 服务器提供单个意外响应,它只会抛出异常并死掉,您无法绕过它。 FtpWebRequest 类仅用于请求。它没有做任何事情来促进文件传输或连接管理。我不会认为它是一个功能齐全的 FTP 库。【参考方案9】:我做了一些研究,发现了一个用 C# 实现的 SSH,称为sharpSsh。它是 Java 的 Jsch(Java 安全通道)库的一个端口。我们在我的雇主这里使用 Jcsh,这很棒。我不能保证 C# 版本。
【讨论】:
SharpSSH 很糟糕,而且不起作用。相信我,我已经试过了。我是认真的,它在最简单的场景中失败,没有错误或解释。那东西需要像棕色内衣污渍一样从互联网上抹去。以上是关于有没有好的免费 .Net 网络库? (FTP、SFTP、SSH 等)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Sugiyama Layout for Java 是不是有很好的免费实现?