Maison > développement back-end > Golang > Comment remplacer l'adresse IP source pour les requêtes HTTP dans Go ?

Comment remplacer l'adresse IP source pour les requêtes HTTP dans Go ?

DDD
Libérer: 2024-12-30 08:48:12
original
814 Les gens l'ont consulté

How to Override the Source IP Address for HTTP Requests in Go?

Remplacement de l'adresse IP pour les requêtes HTTP dans Go

Dans Go, le package net/http facilite les requêtes HTTP en utilisant l'adresse IP par défaut du système. Cependant, il existe des cas où vous préférerez peut-être spécifier une adresse IP personnalisée pour de telles demandes. Cet article montre comment y parvenir en utilisant la configuration de Dialer.

Le défi vient de l'absence de documentation concernant l'adresse actuelle utilisée par la bibliothèque http. Pour spécifier l'adresse source d'une requête HTTP, il faut personnaliser le Dialer dans le Transport du Client.

Voici comment procéder :

// Establish a transport similar to http.DefaultTransport, but with a custom local address
transport := &http.Transport{
    Proxy: http.ProxyFromEnvironment,
    DialContext: (&net.Dialer{
        Timeout:   30 * time.Second,
        KeepAlive: 30 * time.Second,
        LocalAddr: localAddr, // Specify the desired local IP address
        DualStack: true,
    }).DialContext,
    MaxIdleConns:          100,
    IdleConnTimeout:       90 * time.Second,
    TLSHandshakeTimeout:   10 * time.Second,
    ExpectContinueTimeout: 1 * time.Second,
}

// Create an HTTP client using the custom transport
client := &http.Client{
    Transport: transport,
}
Copier après la connexion

En configurant le Dialer de cette manière, le Le paramètre LocalAddr spécifie l'adresse IP personnalisée qui sera utilisée comme adresse source pour toutes les requêtes HTTP effectuées par le client.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal