39

这是一个非常简单的问题,但我在任何地方都找不到任何提及这一点..

如何从 Sinatra 中获取客户端的 IP 地址?

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

2 回答 2

71

Sinatra 提供了一个request对象,它是您应该使用的客户端请求数据的接口。

Usingrequest.ip是查找客户端 IP 地址的首选方法:

get '/' do
  "Your IP address is #{request.ip}"
end
于 2011-09-16T17:27:40.333 回答
18

无论如何,我是来发布答案的..所以:

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

Sinatra 使用Rack::Request API,因此您可以使用其中的许多可用功能。
也是 Sinatra文档的链接。

于 2009-08-23T19:33:20.967 回答