Bei der Entwicklung von Webanwendungen ist der Erhalt der angeforderten IP-Adresse eine sehr häufige Anforderung. In Golang ist es auch sehr einfach, die angeforderte IP-Adresse zu erhalten.
In Golang können wir die Struktur Request
unter dem Paket net/http
verwenden, um die IP-Adresse der Anfrage zu erhalten. Konkret können wir die Anforderungs-IP-Adresse über das Attribut RemoteAddr
in der Struktur Request
erhalten. 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.HandleFunc
, um eine Routenverarbeitung zu binden Funktion zum Root-Pfad hinzufügen. In der Route-Handler-Funktion erhalten wir die Anforderungs-IP-Adresse über r.RemoteAddr
und geben sie an die Konsole und den Antwortinhalt aus. Schließlich starten wir den HTTP-Server über die Funktion http.ListenAndServe
und überwachen Port 8080. 🎜🎜Wenn wir auf den Server zugreifen, gibt die Konsole Informationen ähnlich der folgenden aus: 🎜rrreee🎜Die obige Ausgabe zeigt an, dass unsere Anfrage vom Client mit der IP-Adresse 127.0.0.1 und Port 58226 kommt. 🎜🎜Es ist jedoch zu beachten, dass die von Request.RemoteAddr
erhaltene IP-Adresse möglicherweise nicht die tatsächliche IP-Adresse des Clients ist, insbesondere wenn ein Reverse-Proxy verwendet wird. In diesem Fall sollten andere Methoden verwendet werden, um die tatsächliche IP-Adresse des Clients zu erhalten, beispielsweise aus einem benutzerdefinierten Anforderungsheader. 🎜Das obige ist der detaillierte Inhalt vonGolang erhält Anfrage-IP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!