ネットワーク アプリケーションを開発する場合、要求 IP アドレスを取得することは非常に一般的な要件です。 Golang では、リクエスト IP アドレスの取得も非常に簡単です。
Golang では、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## を使用します。 # function ルート ハンドラー関数をルート パスにバインドします。ルート処理関数では、
r.RemoteAddr を通じてリクエスト IP アドレスを取得し、それをコンソールと応答コンテンツに出力します。最後に、
http.ListenAndServe 関数を通じて HTTP サーバーを起動し、ポート 8080 でリッスンします。
Request from IP address: 127.0.0.1:58226上記の出力は、リクエストが IP アドレス 127.0.0.1 とポートを持つクライアントから送信されたことを示しています。 58226。 ただし、特にリバース プロキシが使用されている場合、
Request.RemoteAddr によって取得される IP アドレスはクライアントの実際の IP アドレスではない可能性があることに注意してください。この場合、カスタム要求ヘッダーなどから、他の方法を使用してクライアントの実際の IP アドレスを取得する必要があります。
以上がgolangはリクエストIPを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。