Maison >développement back-end >Golang >Comment puis-je spécifier une adresse IP source personnalisée pour les requêtes HTTP dans Go ?
Personnalisation de la sélection IP pour les requêtes HTTP
La bibliothèque standard pour les requêtes HTTP dans Go ne spécifie pas explicitement l'adresse IP source utilisée pour les requêtes sortantes . Cela soulève la question : pouvons-nous spécifier manuellement l'adresse IP pour de telles demandes ?
Solution
Oui, nous pouvons définir un numéroteur personnalisé dans le transport du client pour contrôler le Adresse IP utilisée pour les requêtes HTTP. Voici comment :
// Create a transport like http.DefaultTransport, but with a specified localAddr transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, // Set the desired local address here DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // Create an HTTP client with the custom transport client := &http.Client{ Transport: transport, }
En attribuant un LocalAddr au Dialer, vous pouvez spécifier l'adresse IP source qui sera utilisée pour les requêtes HTTP effectuées via ce client. Cela vous permet de contrôler l'adresse IP qui sera exposée au serveur de destination, offrant ainsi une flexibilité dans la gestion de la réputation IP ou des considérations de routage.
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!