[Ruby] User Agent(ユーザーエージェント)を取得する方法
Ruby にて、User Agent(ユーザーエージェント)を取得する方法を調べたのでメモ。
User Agent自体は、リクエストパラメータの中に含まれています。
iPhone のユーザーエージェントの例
request.env["HTTP_USER_AGENT"] #=> Mozilla/5.0 (iPod; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3 |
User Agent を調べることにより、例えば iPhone や Android などのスマートフォンからのアクセスを、スマフォ専用のページにリダイレクトすることができたりします。
スマフォ専用サイトに転送するフィルターのサンプル (Ruby on Rails)
before_filter :check_user_agent_for_mobile def check_user_agent_for_mobile ua = request.env["HTTP_USER_AGENT"] if(ua.include?('Mobile') || ua.include?('Android')) redirect_to :controller => "mobile", :action => "index" end end |
iPhone/iPad/iPod Touch には全て ‘Mobile’ という文字列が、Android端末には ‘Android’ の文字列がユーザーエージェントに含まれているので、このように書いてみました。
User Agent については下記のサイトに詳しくまとめられています。
以上です。
参考情報
・Android携帯、タブレットをUser Agentで区別するRubyの正規表現|WEBデザイン Tips