Maison > Article > développement back-end > Golang obtient l'adresse IP de la demande
Lors du développement d'applications réseau, l'obtention de l'adresse IP demandée est une exigence très courante. Dans Golang, obtenir l’adresse IP de la demande est également très simple.
Dans Golang, nous pouvons utiliser la structure Request
sous le package net/http
pour obtenir l'adresse IP de la requête. Plus précisément, nous pouvons obtenir l'adresse IP de la requête via l'attribut RemoteAddr
dans la structure Request
. net/http
包下的 Request
结构体来获取请求 IP 地址。具体来说,我们可以通过 Request
结构体中的 RemoteAddr
属性获取请求 IP 地址。
下面是一个简单的示例程序,演示了如何使用 Golang 获取请求 IP 地址:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { ip := r.RemoteAddr fmt.Printf("Request from IP address: %s ", ip) fmt.Fprintf(w, "Request from IP address: %s ", ip) }) http.ListenAndServe(":8080", nil) }
在上面的示例程序中,我们使用 http.HandleFunc
函数将一个路由处理函数绑定到根路径。在路由处理函数中,我们通过 r.RemoteAddr
获取请求 IP 地址,并将其打印到控制台和响应内容中。最后,我们通过 http.ListenAndServe
函数启动 HTTP 服务器,并监听在端口 8080 上。
当我们访问该服务器时,控制台会输出类似如下的信息:
Request from IP address: 127.0.0.1:58226
上述输出表明我们的请求来自 IP 地址为 127.0.0.1,端口为 58226 的客户端。
然而需要注意的是,Request.RemoteAddr
http. La fonction HandleFunc
lie une fonction de gestionnaire de route au chemin racine. Dans la fonction de gestionnaire de route, nous obtenons l'adresse IP de la demande via r.RemoteAddr
et l'imprimons sur la console et le contenu de la réponse. Enfin, nous démarrons le serveur HTTP via la fonction http.ListenAndServe
et écoutons sur le port 8080. #🎜🎜##🎜🎜#Lorsque nous accédons au serveur, la console affichera des informations similaires aux suivantes : #🎜🎜#rrreee#🎜🎜#La sortie ci-dessus indique que notre requête provient de l'adresse IP 127.0.0.1 et du port 58226-client. #🎜🎜##🎜🎜# Cependant, il convient de noter que l'adresse IP obtenue par Request.RemoteAddr
peut ne pas être la véritable adresse IP du client, notamment lorsqu'un proxy inverse est utilisé. Dans ce cas, d'autres méthodes doivent être utilisées pour obtenir la véritable adresse IP du client, par exemple à partir d'un en-tête de requête personnalisé. #🎜🎜#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!