2012-01-19 25 views
2

我正在使用SharpSSH库上传文件到SFTP服务器。我可以通过家用电脑做到这一点,但是从我工作的电脑上,我无法访问服务器。在联系了位于另一个国家的系统管理员之后,他们告诉我需要通过代理访问SFTP服务器,因为公司所有的互联网访问都通过该代理。如何通过代理使用SharpSSH SFTP库for .NET?

我搜查了很多,虽然有些帖子表明,这是可能的,我不明白如何在.NET(VB.NET专门)做到这一点。这里有一个完美的作品从家里(或从绕过代理...不可能生产的网关)的代码看起来像

Dim objBo As New Tamir.SharpSsh.Sftp("STFP_SERVER_IP", "username", "password") 
objBo.Connect() 
objBo.Put(strFilename, "/outbox/master_" + Today.Date.ToString("ddMMyyyyHH") + Today.Now.Millisecond.ToString + ".TXT") 
objBo.Put(strFilename2, "/outbox/detail_" + Today.Date.ToString("ddMMyyyyHH") + Today.Now.Millisecond.ToString + ".TXT") 
objBo.Close() 

如何通过代理连接?

+0

我已经做了一些与SharpSSH库的工作,我承认这是相当过时的(这是来自Java的一个糟糕的端口)。你可能想看看sshnet.codeplex.com,这似乎被维护,并可能有办法处理这个。 – MattGWagner

+0

我在http://bitbucket.org/mattgwagner/sharpssh的fork中对代理的某些支持进行了修补,在这种情况下可能会有用。 – MattGWagner

+0

嗨MattGWagner!在我能够使用代理之前,优派叉可能是最好的,我没有问题,是否有代理从你的例子? –

回答

0

自从我问这个问题已经很长时间了,但是如果我记得正确的话,我通过在部署服务的服务器上执行端口转发来解决此问题。

0

我从来没有使用过SharpSSH--但我有几个使用FTP的项目,其中一些项目每天处理超过1000个FTP请求。

起初我试图使用.Net WebRequestMethods.Ftp - 但经过一些测试后,我选择购买Chilkat软件包。

即使使用HTML代理 - 他们的支持是5星 - 他们在他们的网站上有几个样本,它工作得很好。

这是我最喜欢的工具之一。请注意,我与奇尔卡特没有任何关系 - 只是一个真正喜欢他们对产品的承诺的用户。