JSCH 使用代理方式(HTTP或SOCKET)通过SFTP上传或下载文件

时间:2022-01-01 09:56:24

       最近做了一个需求,需要从外网服务器下载文件,杀毒后通过代理服务器保存到公司服务器,上网查询了下大部分使用了JSCH,但是很多都是采用直连的方式。查询了JSCH API 和代码,如果是代理服务器采用的HTTP方式代理,可以通过

ProxyHTTP proxyhttp = new  ProxyHTTP ("代理服务器IP",代理服务器端口);

                        session.setProxy(proxyhttp );

                       来实现。

        如果是通过socket代理方式,可以通过ProxySOCKS4 , ProxySOCKS5来实现,具体选择哪个根据代理服务器的代理方式是socket4还是socket5

   

ProxySOCKS4 proxySOCKS4= new  ProxySOCKS4("代理服务器IP",代理服务器端口);

                        session.setProxy(proxySOCKS4);

同理ProxySOCKS5也是如此。

在加入这段代码之前必选确认本地和代理服务器之间以及代理服务器和远程服务器之间的网络是否联通

注意该段代码必须放在session连接之前.