私は自分のWebページにアクセスしているクライアントのIPアドレスを知りたいと思います。 JSPページの(JSP用の)WebクライアントのIPアドレスを特定するにはどうすればよいですか?
内容:
<%
out.print(request.getRemoteAddr() + "<br>");
out.print(request.getRemoteHost());
%>
出力:
0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1
私は自分のWebページにアクセスしているクライアントのIPアドレスを知りたいと思います。 JSPページの(JSP用の)WebクライアントのIPアドレスを特定するにはどうすればよいですか?
内容:
<%
out.print(request.getRemoteAddr() + "<br>");
out.print(request.getRemoteHost());
%>
出力:
0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1
<%
out.print(request.getRemoteAddr());
out. print(request.getRemoteHost());
%>
request.getRemoteAddr()
リターンIPどこ アクセスJSPページからマシンの アドレス。request.getRemoteHost()
は、 のjspページにアクセスするホストの というホスト名を返します。サーバー自体から にアクセスすると、サーバー名が に戻ります。クライアントがプロキシの背後にある場合は、上記のは、あなたが彼らの背後にあるプロキシのIPを取得するように有用ではない、代わりにしてみてください:
<%
out.print(request.getHeader("x-forwarded-for"));
%>
+1 request.getHeader( "x-forwarded-for") – firstthumb
x-forwarded-forは常に動作しますか?また、クライアントがネットワークアドレス変換を行うデバイスの反対側にある場合は、それが役に立たないと思います。 –
これは非RFC標準ヘッダー( "x-"接頭辞)であることに注意してください。 – rodrigoap
はあなたの方法は正しいです。私は、あなたがlocalhost上でそれにアクセスしているので、ループバックインターフェースに当たっていると仮定します。表示されている番号は、ループバックインターフェイスのIPv6 IPアドレスです。
別のマシンから試してみてください。
これは私が必要とした情報です。 –
JEEを使用していますか? –
はい、J2EEを使用しています – wokena