2

grails でセッション ユーザーのリモート アドレスを要求したい。ここで問題を説明する質問を見つけました ( Grails find public IP address of session user )。答えは実際に機能します。私は request.getRemoteAddr() のみを使用し、localhost で 0:0:0:0:0:0:0:1 を受け取りました。ただし、ユーザーの実際の IP アドレスを確認するにはどうすればよいでしょうか?

私が見つけたこの前の質問では、「別のコンピューターからサイトを表示するときに request.remoteAddr の出力を見てみてください」と言われています。これが何を意味するのか本当にわかりません。ここであなたの助けが必要です。私は自分のブラウザでのみサーバーをロードでき、「localhost:8080/...」を使用しています。正しいリクエストを取得する方法と場所を教えてください。ありがとう!!!

4

2 に答える 2

2

「別のコンピューターからサイトを表示するときに、request.remoteAddr の出力を見てみてください」

これは、LAN 内の別のマシンからマシンで実行されているアプリケーションに接続する必要があることを意味します。
LAN に別のマシンがある場合は、ローカル ネットワークの IP アドレスを見つけ (ipconfig を使用)、他のマシンからこのアドレスに接続する必要があります。たとえば、IP が の場合192.168.0.2、に接続します。http://192.168.0.2:8080

前述の tim_yatesのようrequest.getRemoteAddr()に、動的アドレス指定とプロキシ サーバーが原因で、常に正しいアドレスが返されるとは限りません。ただし、次 のようなさまざまな HTTP ヘッダーから元のアドレスを見つけることができますHTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED

于 2013-03-12T23:15:46.723 に答える
0

それはあなたが得ようとしている最高のものです。

0:0:0:0:0:0:0:1

あなたのローカルアドレスです。また、動的アドレス指定とプロキシ サーバーのために、これがユーザーに一意であることを保証することはできません。

于 2013-03-12T21:04:31.963 に答える