HttpURLConnection이 프록시를 사용하고 있는지 확인하려고 할 때 다음 코드는 false를 잘못 반환할 수 있습니다.
conn = new URL(urlString).openConnection(); System.out.println("Proxy? " + conn.usingProxy());
프록시 서버를 통해 연결되어 있음에도 불구하고 이 동작이 발생합니다. JVM(Java Virtual Machine)은 일반적으로 운영 체제 설정에서 프록시 정보를 검색합니다. 그러나 특정 상황에서는 JVM이 프록시 구성을 인식하지 못할 수도 있습니다.
HttpURLConnection이 적절한 프록시를 활용하도록 하려면 다음을 명시적으로 제공해야 합니다. 프록시 정보. 이는 프록시 인스턴스를 구성하고 이를 openConnection(proxy) 메소드에 전달하여 달성할 수 있습니다:
//Proxy instance, proxy ip = 10.0.0.1 with port 8080 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080)); conn = new URL(urlString).openConnection(proxy);
프록시에 인증이 필요한 경우 HttpURLConnection은 407 응답 코드입니다. 이 문제를 해결하려면 다음과 같이 인증기를 구성하면 됩니다.
Authenticator authenticator = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return (new PasswordAuthentication("user", "password".toCharArray())); } }; Authenticator.setDefault(authenticator);
위 내용은 HttpURLConnection이 프록시를 활용하고 인증을 처리하는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!