I want to keep some statistics about users and locations in a database. For instance, I would like to store "Mozilla","Firefox","Safari","Chrome","IE", etc... as well as the versions, and possibly the operating system.
What I am trying to locate from Python is this string;
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.14) Gecko/2009090216 Ubuntu/9.04 (jaunty) Firefox/3.0.14
Is there an efficient way to use Python or mod_python to detect the http user agent/browser?
HTTP_USER_AGENT
contains this information, and will be passed in the environment variables your application uses. In mod_python, this is expressed as:It's a basic CGI thing, but this is how mod_python gives it to you.
The method suggested by Jed Smith works, but I was sure there was a simpler way.
The
req.headers_in
variable contains all the header info, and you can easily access the user agent using mod_python by calling:It is not necessary to call
req.add_common_vars()
when using this method.If you are using the Django-Framework you get the user agent like this
The very nice plugin httpagentparser extracts every detail and puts it a dictionary.
Installation works via pip
Hope this helps... I googled about 30 min until I found something useful :)
Ron