2012-03-17 1 views
2

Java Swing 응용 프로그램을 만들었습니다. 일부 사용자는 프록시를 사용하고 있기 때문에 응용 프로그램을 활성화하거나 프로그램 업데이트를 확인할 때 인터넷에 연결할 수 없습니다.ProxySelector를 사용하여 프록시 설정을 검색하는 데 도움이 필요합니다.

나는 재미있는 ProxySelector Class에 대해 읽었습니다. 그것은 아주 좋은,하지만 난 그것에 대해 몇 가지 질문을하시기 바랍니다 있습니다

  1. 이 클래스가 사용할 수있는 프록시의 모든 종류의 감지를 (HTTP, HTTPS, FTP, 양말, ...)?

  2. 사용한 프록시에 인증이 필요한 경우이 클래스는 자동으로 정보를 가져 옵니까?

  3. 나는 프록시 설정을 사용하기위한 코드를 작성했습니다. 이제는 이것을 테스트해야하지만 프록시가 없으므로 지침 here과 같은 프록시를 설정할 예정 이었지만 더 빠른 방법이 있습니까? 공용 프록시를 사용하여 hidemyass.com처럼 테스트 할 수 있습니까?

답변

3

나는 모든 질문에 대답 할 수는 없지만 여기에 그들 중 일부 :

1.I는 HTTP, HTTPS ANS SOCKS의 프록시 선택기를 사용하는 것을 보라. AFAIK, FTP는 기본적으로 JVM에서 지원하지 않습니다.

Authenticator.setDefault(new Authenticator() { 
    private URL previous; 
    int count = 0; 
    @Override 
    protected PasswordAuthentication getPasswordAuthentication() { 
      try { 
       if (previous == getRequestingURL()) 
        count++; 
       if (previous != getRequestingURL()) { 
        count = 0; 
       } else { 
        if (count<3) { 
         // Ask for login/passwd to the user 
        } else { 
         // Throw a RuntimeException to prevent locking the account 
         throw new TooManyFailedAttemptException(); 
        } 

        return new PasswordAuthentication("login", "password".toCharArray()); 
       } 
      } finally { 
       previous = getRequestingURL(); 
      } 
    } 
}); 

3.I는 공개 프록시 괜찮 추측 :

2.For 인증, 다음과 같은 코드를 사용할 수 있습니다. 나는 당신이 당신의 코드가 실제로 그것을 사용하고 있음을 보장 할 방법에 대하여 정말로 확신하지 못한다. 개인적으로 나는 그다지 열심히하지 않는 오징어 프록시를 설정하고 거기에서 당신의 전화를 추적 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 내 Java 코드 내에서 Public Proxies를 사용할 방법을 찾고 있었지만 이렇게 할 방법이 없다고 생각합니다. – Brad

+0

Internet Explorer에서 공용 프록시 데이터를 설정하면 시스템에 설정됩니다. Java 코드에 의해 정상적으로 탐지되었습니다. 하지만 여전히 인증 코드가있는 공개 프록시를 사용하여 코드를 테스트 할 수 없습니다. 어떤 도움을 주셔서 감사합니다. – Brad

관련 문제