Maison >développement back-end >Golang >Comment créer un client HTTP Go avec authentification proxy ?

Comment créer un client HTTP Go avec authentification proxy ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 04:54:14339parcourir

How to Create a Go HTTP Client with Proxy Authentication?

Go HTTP Proxy With Authentication

Lors de l'utilisation d'un proxy avec authentification, la méthode de requête HTTP par défaut ne permet pas d'ajouter des en-têtes d'autorisation post- demande. Cela peut poser des problèmes lors de l'intégration de la prise en charge du proxy dans le code tiers existant.

Dans de tels scénarios, une approche alternative consiste à créer un client HTTP personnalisé avec la configuration de proxy requise. Ce client peut ensuite être utilisé à la place du client HTTP par défaut dans le package tiers.

Voici un exemple de création d'un client HTTP personnalisé avec authentification proxy à l'aide du package http :

import (
    "net/http"
    "net/url"
)

// Create a proxy URL with authentication
proxyURL := &url.URL{
    Scheme: "http",
    User:   url.UserPassword("username", "password"),
    Host:   "proxy.com:8080",
}

// Create a custom HTTP client with the proxy
client := &http.Client{
    Transport: &http.Transport{
        Proxy: http.ProxyURL(proxyURL),
    },
}

// Use the custom client with the third-party package
resp, err := client.PostForm(method, params)
if err != nil {
    // Handle error
}

Alternativement, l'URL peut être analysée directement :

proxyURL, _ := url.Parse("http://username:password@proxy.com:8080")
client := &http.Client{
    Transport: &http.Transport{
        Proxy: http.ProxyURL(proxyURL),
    },
}

Cette méthode vous permet de spécifier les informations d'authentification nécessaires pour le proxy au sein du client configuration.

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