Utilizzando FTP Proxy con Apache Commons-net
-
12-09-2019 - |
Domanda
Voglio impostare una connessione FTP utilizzando un server proxy con commons-net di Apache.
Ma guardando questo Does connessioni supporto FTP FtpClient attraverso un server proxy FTP? mi preoccupa.
Devo immischiarsi con le proprietà di sistema e dello stato documentazione Sun che "se socksProxyHost è specificato, tutti i socket TCP utilizzano il server proxy SOCKS per stabilire una connessione o accettare uno".
WTH? Tutti i socket TCP? E i miei connessioni di database? O altre connessioni FTP potrei voler aprire al tempo stesso non si utilizza un proxy? Saranno tutti essere colpiti?
C'è qualche altro modo per farlo che non pasticciare con il resto della mia applicazione?
Soluzione
Esistono diversi modi di usare i proxy in Java, in particolare a partire dalla versione 1.5.
- Utilizzo di Proprietà del sistema: veloce e potente ma limitata flessibilità
- È possibile utilizzare utilizzare un proxy SOCKS per tutte le connessioni TCP.
- È anche possibile impostare un proxy per protocollo, fattibile per HTTP, FTP e HTTPS
- Per entrambi i metodi, è possibile specificare un elenco di host che non utilizzare il proxy
- Uso della
java.net.Proxy
classe (Java 1.5+) per impostare (o meno) di unProxy
perConnection
-
java.net.ProxySelector
( idem) che determinerà unaProxy
per ogniConnection
in base ai criteri