使用FTP代理与apache commons-net

时间:2009-07-09 14:08:38

标签: java ftp apache-commons-net

我想使用Apache的commons-net代理服务器建立FTP连接。

但看着这个Does FTPClient support FTP connections through an FTP proxy server?让我很担心。

我必须干涉系统属性,Sun文档声明“如果指定 socksProxyHost ,那么所有TCP套接字都将使用SOCKS代理服务器建立连接或接受连接。” /> WTH?所有TCP套接字?我的数据库连接怎么样?或者其他FTP连接我可能想要在不使用代理的情况下同时打开?他们都会受到影响吗?

还有其他一些方法可以解决我的应用程序的其余部分吗?

1 个答案:

答案 0 :(得分:7)

您可以通过多种方式在Java中使用代理,尤其是1.5版本。

  1. 使用系统属性:快速&功能强大但灵活性有限
    • 您可以使用SOCKS代理进行所有TCP连接。
    • 您还可以为每个协议设置代理,可以为HTTP,FTP和HTTPS设置
    • 对于这两种方法,您可以指定不使用代理的主机列表
  2. 使用java.net.Proxy类(Java 1.5+)设置(或不设置)ProxyConnection
  3. 实施java.net.ProxySelector(同上),根据您的条件为每个Proxy确定Connection
  4. 请参阅detailled Sun technote on networking & proxies