Получить IP-адрес клиента в Синатре? - PullRequest
37 голосов
/ 23 августа 2009

Это действительно простой вопрос, но я нигде не могу найти упоминания об этом ..

Как мне получить IP-адрес клиента в Синатре?

get '/' do
    "Your IP address is #{....}"
end

Ответы [ 2 ]

68 голосов
/ 16 сентября 2011

Sinatra предоставляет request объект , который является интерфейсом для данных запроса клиента, которые вы должны использовать.

Использование request.ip является предпочтительным методом для определения IP-адреса клиента:

get '/' do
  "Your IP address is #{request.ip}"
end
17 голосов
/ 23 августа 2009

Я все равно собирался опубликовать ответ .. так:

get '/' do
"Your IP address is #{ @env['REMOTE_ADDR'] }"
end

Синатра использует Rack :: Request API , так что вы можете использовать множество доступных в нем вещей.
Также ссылка на Синатра Документ .

...