2009-07-09 18 views
6

아파치의 commons-net과 프록시 서버를 사용하여 FTP 연결을 설정하고 싶습니다.아파치 commons-net에서 FTP 프록시 사용

그러나 이걸 보면 Does FTPClient support FTP connections through an FTP proxy server?이 걱정됩니다. 나는 시스템 속성과 일의 문서에 참견해야

는 "socksProxyHost이 지정되면 모든 TCP 소켓 연결을 설정하거나 하나를 허용하도록 SOCKS를 프록시 서버를 사용한다."고 명시
WTH? 모든 TCP 소켓? 내 데이터베이스 연결은 어떻습니까? 또는 내가 프록시를 사용하지 않고 동시에 열려고하는 다른 FTP 연결? 그들은 모두 영향을받을 것입니까?

내 애플리케이션의 나머지 부분을 엉망으로 만드는 다른 방법이 있습니까?

답변

7

Java에서 프록시를 사용하는 방법은 여러 가지가 있습니다. 특히 버전 1.5부터 사용하는 것이 좋습니다.

  1. 사용하여 시스템 등록 정보 : 빠른 & 강력하지만 제한된 유연성
    • 당신은 모든 TCP 연결에 대한 SOCKS 프록시를 사용 할 수 있습니다.
    • 당신은 또한 두 방법에 대해서는 HTTP, FTP에 대한 드리겠습니다 프로토콜 당 프록시 및 HTTPS
    • 을 설정할 수 있습니다, 당신은 java.net.Proxy 클래스를 사용하여 프록시를
  2. 를 사용하지 않을 것을 호스트의 목록을 지정할 수 있습니다 (자바 1.5 이상) 설정 (여부)에 Proxy
  3. 당신의 기준에 따라 각 Connection에 대한 Proxy을 결정하는 java.net.ProxySelector (IDEM)를 Impleting Connection

detailled Sun technote on networking & proxies을 참조하십시오.

+1

글쎄, 요즘에는'SocketFactory'가 Commons-Net 3.3 문서를 인용하고 있습니다. https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/SocketClient .html * "특별한주의 사항은 setSocketFactory 메서드입니다 ... SSL 또는 프록시 지원을 추가 할 때 특히 유용합니다"* –

+0

@SamsonScharfrichter이 답변을 다른 답변으로 추가 할 수 있습니다. :). 시간이 지남에 따라, 이보다 더 많은 상향 보를 얻고이 질문으로 돌아 오는 사람들에게 더 잘 보일 것입니다. –

+0

당신은 또한 "권위있는 대답"을 업데이트 할 수 있습니다 ... 나는 게으른 느낌이 0입니다 :) –