Verwendung eines FTP-Proxy mit Apache commons-net
-
12-09-2019 - |
Frage
Ich mag eine FTP-Verbindung über einen Proxy-Server mit Apache commons-net einzurichten.
Aber in diesem Does FtpClient Unterstützung FTP-Verbindungen über einen FTP-Proxy-Server? hat mich beunruhigt.
Ich habe mit den Systemeigenschaften und der Sun docs Zustand einzumischen: „Wenn socksProxyHost angegeben wird, dann werden alle TCP-Sockets den SOCKS-Proxy-Server verwenden, um eine Verbindung herzustellen oder eine akzeptieren.“
WTH? Alle TCP-Sockets? Was ist mit meinen Datenbankverbindungen? Oder andere FTP-Verbindungen könnte ich zur gleichen Zeit öffnen wollen keinen Proxy verwenden? Werden sie alle betroffen sein?
Gibt es eine andere Möglichkeit, es zu tun, die nicht verwirren mit dem Rest meiner Anwendung funktioniert?
Lösung
Sie haben mehrere Möglichkeiten, von Proxies in Java, vor allem aus der Version 1.5 verwendet wird.
- Verwenden von Systemeigenschaften: schnelle und leistungsfähige, aber begrenzte Flexibilität
- Sie können mit einem SOCKS-Proxy für alle TCP-Verbindungen verwenden.
- Sie können auch einen Proxy-pro-Protokoll festgelegt, machbar für HTTP, FTP und HTTPS
- Bei beiden Methoden können Sie eine Liste von Hosts angeben, dass nicht verwenden Proxy
- Die
java.net.Proxy
Klasse (Java 1.5+) eingestellt werden (oder nicht) eineProxy
proConnection
- Impleting ein
java.net.ProxySelector
( idem), die eineProxy
für jedenConnection
nach Ihren Kriterien bestimmen
Siehe detaillierte Sun technote auf die Vernetzung und Proxies .