El uso de FTP proxy con Apache Commons-net
-
12-09-2019 - |
Pregunta
Quiero establecer una conexión FTP usando un servidor proxy con commons-neta de Apache.
Pero al mirar a este Hace FtpClient conexiones de soporte de FTP a través de un servidor proxy FTP? me tiene preocupado.
Tengo que entrometerse en las propiedades del sistema y el estado docs Sun que "si socksProxyHost se especifica a continuación, todos los sockets TCP van a utilizar el servidor proxy SOCKS para establecer una conexión o aceptar uno."
WTH? Todos los sockets TCP? ¿Qué pasa con mis conexiones de bases de datos? U otras conexiones FTP puede ser que quiera abrir al mismo tiempo, no se utiliza un proxy? Van a verse afectados?
¿Hay alguna otra manera de hacerlo que no pierde el tiempo con el resto de mi solicitud?
Solución
Existen varias formas de utilizar servidores proxy en Java, especialmente a partir de la versión 1.5.
- Uso de Propiedades del sistema: rápida y potente, 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 va a usar Proxy
- Uso de la href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Proxy.html" rel="noreferrer">
java.net.Proxy
clase Proxy porConnection
-
java.net.ProxySelector
( idem) que determinará unProxy
para cadaConnection
de acuerdo a sus criterios