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 については下記のサイトに詳しくまとめられています。
以上です。