Rails技巧集锦

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'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Awesome Ruby Toolbox Awesome A collection of awesome Ruby...
    debbbbie阅读 7,978评论 0 3
  • 一、基础知识篇:Http Header之User-AgentUser Agent中文名为用户代理,是Http协议中...
    iPhone阅读 16,003评论 0 13
  • 1. 网页抓取 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中抓取出来。在Python中有很多库可以用来...
    rhlp阅读 4,583评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,301评论 19 139
  • 知道白归与绍离故事的人都说绍离没有心。绍离也确实没有心,一颗心都丟在白归那里,白归走了,心还在吗…… 绍离知道自己...
    一只小花喵阅读 2,958评论 1 2