Maison >Java >javaDidacticiel >Comment puis-je configurer HttpURLConnection pour utiliser un proxy ?

Comment puis-je configurer HttpURLConnection pour utiliser un proxy ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 18:59:03977parcourir

How Can I Configure HttpURLConnection to Use a Proxy?

Surmonter les obstacles du proxy dans HttpURLConnection

En essayant d'établir une connexion avec un proxy via HttpURLConnection, vous pouvez rencontrer des cas où la connexion échoue utiliser le proxy. Cet écart provient généralement du manque d'informations de proxy fournies à la JVM.

Pour résoudre ce problème, vous pouvez définir explicitement les paramètres de proxy dans votre code. Depuis Java 1.5, HttpURLConnection propose la méthode openConnection(proxy), permettant de transmettre une instance java.net.Proxy. Cette instance de proxy peut être initialisée comme suit :

// Proxy IP: 10.0.0.1, Port: 8080
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080));

Si votre proxy nécessite une authentification, vous pouvez faire face à une réponse HTTP 407. Pour résoudre ce problème, envisagez d'implémenter la classe Authenticator :

    Authenticator authenticator = new Authenticator() {

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

En employant ces techniques, vous pouvez configurer de manière transparente votre HttpURLConnection pour utiliser les paramètres de proxy, résolvant ainsi le problème des proxys inutilisés.

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!

Déclaration:
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