Usando Proxy FTP com Apache commons-net
-
12-09-2019 - |
Pergunta
Eu quero configurar uma conexão FTP usando um servidor proxy com commons-net do Apache.
Mas olhando para este Does FTPClient conexões suporte FTP através de um servidor proxy FTP? tem-me preocupado.
Eu tenho que mexer com as propriedades do sistema e do estado docs Sun que "Se socksProxyHost for especificado, todos os sockets TCP usará os SOCKS servidor proxy para estabelecer uma conexão ou aceitar um".
WTH? Todos os sockets TCP? E as minhas conexões de banco de dados? Ou outras conexões FTP i pode querer abrir ao mesmo tempo não usar um proxy? Será que eles vão todos ser afetados?
Existe alguma outra maneira de fazer isso que não faz mexer com o resto da minha aplicação?
Solução
Você tem várias maneiras de usar proxies em Java, especialmente a partir da versão 1.5.
- usando as propriedades do sistema: flexibilidade rápida e poderosa, mas limitado
- Você pode usar usar um proxy SOCKS para todas as conexões TCP.
- Você também pode configurar um proxy por protocolo, factível para HTTP, FTP e HTTPS
- Para ambos os métodos, você pode especificar uma lista de servidores que não vai usar o proxy
- Usando o href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Proxy.html" rel="noreferrer">
java.net.Proxy
classe (Java 1.5+) para definir (ou não) umProxy
perConnection
-
java.net.ProxySelector
( idem), que irá determinar umaProxy
para cadaConnection
acordo com seus critérios