1
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response login(@Context HttpHeaders headers, @Context HttpServletRequest request) {
System.out.println(getClientIpAddress(request));
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
System.out.println("ip:" + ipAddress);
return new LoginUtils().performLogin(headers.getRequestHeaders());
}
public static String getClientIpAddress(HttpServletRequest request) {
for (String header : HEADERS_TO_TRY) {
String ip = request.getHeader(header);
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
return ip;
}
}
return request.getRemoteAddr();
}
私はIPアドレスを取得していないが、私は同じ要求を別のシステムからこの値を同じ127.0.0.1取得しているIPアドレスを取得する方法を教えてください。クライアントシステムを取得する方法サーバレット要求のアドレス
ローカルネットワークからサーバーにアクセスしていますか?リモートアクセス(モバイルネットワーク上の電話など)を試みて、それが視点を変えるかどうか確認してください。 – Randy
私は同じことをしましたが、その場合にも私は127.0.0.1を取得しています –
私はネットワークのIPアドレスを取得したいホストアドレスではありません –