Maison > Java > javaDidacticiel > le corps du texte

Comment s'assurer que HttpURLConnection utilise un proxy et gère l'authentification ?

Susan Sarandon
Libérer: 2024-11-08 15:25:01
original
929 Les gens l'ont consulté

How to Ensure HttpURLConnection Utilizes a Proxy and Handles Authentication?

Établissement de la connectivité proxy pour HttpURLConnection

Lorsque vous tentez de déterminer si une HttpURLConnection utilise un proxy, le code suivant peut renvoyer faussement false :

conn = new URL(urlString).openConnection();
System.out.println("Proxy? " + conn.usingProxy());
Copier après la connexion

Ce comportement se produit malgré la connexion via un serveur proxy. La machine virtuelle Java (JVM) récupère généralement les informations de proxy à partir des paramètres du système d'exploitation. Cependant, il est possible que la JVM ignore la configuration du proxy dans certaines circonstances.

Proxies et paramètres de proxy JVM

Pour garantir que HttpURLConnection utilise le proxy approprié, il est nécessaire de fournir explicitement les informations de procuration. Ceci peut être réalisé en construisant une instance de proxy et en la transmettant à la méthode 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);
Copier après la connexion

Authentification des connexions proxy

Si le proxy nécessite une authentification, HttpURLConnection répondra avec un Code de réponse 407. Pour résoudre ce problème, un authentificateur peut être configuré comme suit :

Authenticator authenticator = new Authenticator() {

    public PasswordAuthentication getPasswordAuthentication() {
        return (new PasswordAuthentication("user",
                "password".toCharArray()));
    }
};
Authenticator.setDefault(authenticator);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal