2009-07-09 36 views
6

Quiero configurar una conexión FTP utilizando un servidor proxy con commons-net de Apache.Uso de FTP Proxy con apache commons-net

Pero mirando esto Does FTPClient support FTP connections through an FTP proxy server? me tiene preocupado.

tengo que entrometerse en las propiedades del sistema y la documentación de Sun afirman que "Si socksProxyHost se especifica a continuación, todos los sockets TCP utilizarán los calcetines servidor proxy para establecer una conexión o aceptar una".
WTH? ¿Todos los sockets TCP? ¿Qué pasa con las conexiones de mi base de datos? ¿O otras conexiones FTP que me gustaría abrir al mismo tiempo sin usar un proxy? ¿Todos ellos se verán afectados?

¿Hay alguna otra manera de hacerlo que no se meta con el resto de mi aplicación?

Respuesta

7

Tiene varias formas de usar proxies en Java, especialmente desde la versión 1.5.

  1. Propiedades del sistema usando: & rápida de gran alcance, pero una flexibilidad limitada
    • Puede utilizar utilizar un proxy SOCKS para todas las conexiones TCP.
    • También puede configurar un proxy por protocolo, factible para HTTP, FTP y HTTPS
    • Para ambos métodos, se puede especificar una lista de hosts que no utilizará proxy de
  2. Utilización de la clase java.net.Proxy (Java 1.5 +) para establecer (o no) un Proxy por Connection
  3. Impleting un java.net.ProxySelector (idem) que determinará un Proxy para cada Connection de acuerdo a sus criterios

Ver el detailled Sun technote on networking & proxies.

+1

Bueno, hoy en día el 'SocketFactory' es el camino a seguir, citando la documentación de Commons-Net 3.3 https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/SocketClient .html * "De especial interés es el método setSocketFactory ... Esto es especialmente útil para agregar SSL o soporte proxy" * –

+0

@SamsonScharfrichter Puede agregar esto como otra respuesta, que es :). Con el tiempo, debería obtener más votos ascendentes que este y ser más visible para las personas que vuelvan a esta pregunta. –

+0

también puede actualizar su "respuesta autorizada" ... Me siento flojo 0 :) –