Как я могу получить IP-адрес из ServletRequest, а не HTTPServletRequest? - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь найти метод Java, который бы получил ServletRequest и нашел бы IP-адрес для этого запроса.Что-то вроде этого метода, который я нашел, но получил бы ServletRequest вместо HTTPServletRequest:

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Я бы проверил, является ли запрос HTTP-запросом, если это так, используйте метод, предложенный в другом вопросе.Иначе я бы слепо доверял методу getRemoteAddr().

if (request instanceof HTTPServletRequest) {
    HTTPServletRequest httpRequest = (HTTPServletRequest) request;
    // read X-Forwarded-For header, etc. etc.
} else {
    ip = request.getRemoteAddr();
}
0 голосов
/ 05 июня 2018

ServletRequest также предоставляет метод java.lang.String getRemoteAddr(), см. https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getRemoteAddr() для более подробной информации.

...