Rails 如何根据同一个Url地址,判断请求的客户端来源是PC,安卓手机,还是IOS设备?
采用的是useragent这个Gem
在http请求时,user_agent这个字段会记录用户所用的设备和浏览器。所以就得对user_agent进行解析,来获取是什么设备。
1)在Rails项目中,要用到useragent 这个gem 包(https://github.com/josh/useragent)。输入终端命令:
gem install useragent
(2)在rails项目的 Gemfile 中写入:
gem 'useragent'
(3) 输入终端命令:
bundle install
(4)获取user_agent :
user_agent = request.user_agent
或
user_agent = request.env['HTTP_USER_AGENT']
p user_agent
结果:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.3 Safari/537.36"
(5)用UserAgent 对user_agent进行解析:
user_agent_parsed = UserAgent.parse(user_agent)
p user_agent_parsed.platform #=> 'Macintosh'
p user_agent_parsed.browser # => 'Chrome'