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?

War es hilfreich?

Lösung

Sie haben mehrere Möglichkeiten, von Proxies in Java, vor allem aus der Version 1.5 verwendet wird.

  1. 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
  2. Die java.net.Proxy Klasse (Java 1.5+) eingestellt werden (oder nicht) eine Proxy pro Connection
  3. Impleting ein java.net.ProxySelector ( idem), die eine Proxy für jeden Connection nach Ihren Kriterien bestimmen

Siehe detaillierte Sun technote auf die Vernetzung und Proxies .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top