request.getRemoteAddr() を使用すると 0:0:0:0:0:0:0:1 が返されます 質問する

request.getRemoteAddr() を使用すると 0:0:0:0:0:0:0:1 が返されます 質問する

Web アプリケーションにログインしているユーザーの IP アドレスを印刷しようとしています。ユーザーが別の PC (Web アプリケーションが PC で実行されているのと同じネットワーク内) から IP アドレスを使用して接続すると、192.168.10.120:8080/WebApplicationコードはrequest.getRemoteAddr()そのユーザーrequest.getLocalAddr())の IP アドレスを返します。ただし、Web アプリケーションを実行している PC からログインすると、この IP アドレスが取得されます0:0:0:0:0:0:0:1

なぜこのようなことが起こるのでしょうか? また、これらのコマンドの違いは何ですか (どちらを使用すればよいですか)? よろしくお願いします!

ベストアンサー1

IPv4 から IPv6 に移行すると、ループバック アドレス (localhost) が に変更されるため、0:0:0:0:0:0:0:1この127.0.0.1アドレスが取得されます。

機能について:

  • getRemoteAddr()クライアントのIPを返す

  • getLocalAddr()アプリケーションが実行されているサーバーのIPを返します

おすすめ記事