Heim > Java > javaLernprogramm > Wie kann sichergestellt werden, dass HttpURLConnection einen Proxy verwendet und die Authentifizierung übernimmt?

Wie kann sichergestellt werden, dass HttpURLConnection einen Proxy verwendet und die Authentifizierung übernimmt?

Susan Sarandon
Freigeben: 2024-11-08 15:25:01
Original
968 Leute haben es durchsucht

How to Ensure HttpURLConnection Utilizes a Proxy and Handles Authentication?

Herstellen einer Proxy-Konnektivität für HttpURLConnection

Beim Versuch festzustellen, ob eine HttpURLConnection einen Proxy verwendet, kann der folgende Code fälschlicherweise „false“ zurückgeben:

conn = new URL(urlString).openConnection();
System.out.println("Proxy? " + conn.usingProxy());
Nach dem Login kopieren

Dieses Verhalten tritt auf, obwohl die Verbindung über einen Proxyserver besteht. Die Java Virtual Machine (JVM) ruft Proxy-Informationen normalerweise aus den Betriebssystemeinstellungen ab. Allerdings ist es unter bestimmten Umständen möglich, dass die JVM die Proxy-Konfiguration nicht kennt.

Proxys und JVM-Proxy-Einstellungen

Um sicherzustellen, dass HttpURLConnection den entsprechenden Proxy verwendet, ist eine explizite Angabe erforderlich die Proxy-Informationen. Dies kann erreicht werden, indem eine Proxy-Instanz erstellt und an die openConnection(proxy)-Methode übergeben wird:

//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);
Nach dem Login kopieren

Proxy-Verbindungen authentifizieren

Wenn der Proxy eine Authentifizierung erfordert, antwortet die HttpURLConnection mit einem Antwortcode 407. Um dieses Problem zu beheben, kann ein Authenticator wie folgt konfiguriert werden:

Authenticator authenticator = new Authenticator() {

    public PasswordAuthentication getPasswordAuthentication() {
        return (new PasswordAuthentication("user",
                "password".toCharArray()));
    }
};
Authenticator.setDefault(authenticator);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann sichergestellt werden, dass HttpURLConnection einen Proxy verwendet und die Authentifizierung übernimmt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage