Как Вы получаете Клиентский IP-адрес в контроллере Grails?

У меня был код как это в Ruby:

@clientipaddress = request.env["HTTP_CLIENT_IP"]
if (@clientipaddress == nil)
  @clientipaddress = request.env["HTTP_X_FORWARDED_FOR"]
end
if (@clientipaddress == nil)
  @clientipaddress = request.env["REMOTE_ADDR"]
end
if (@clientipaddress != nil)
  comma = @clientipaddress.index(",")
  if (comma != nil && comma >= 0)
    @clientipaddress = @clientipaddress[0, comma]
  end
end

Это заботилось обо всех возможных способах, которыми мог бы обнаружиться IP. Например, на моей локальной машине разработки, нет никакого прокси. Но в QA и Производстве прокси там, и иногда они обеспечивают больше чем один адрес.

Я не должен знать синтаксис Groovy, какие методы получают меня эквивалент трех различных способов, которыми я прошу IP выше.

15
задан Ben Klein 13 October 2011 в 20:01
поделиться

1 ответ

Я думаю, что это должно быть то, что вы хотите:

  • request.getremoteaddr ()
  • request.Getheader («X-Foreded-for»)
  • request.Getheader (» Client-IP ")
38
ответ дан 1 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: