背景

做web开发过程当中经常会获取user-agent来判定用户行为

什么是user-agent

user agent是指用户代理,简称 UA 作用:使服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但也可以通过改变UA绕过检测。

flask如何获取user-agent

代码如下:

from flask import request
print(request.headers.get('User-Agent'))

当然也可使用 request.user_agent 对象,该对象包含如下属性:

request.user_agent.platform #客户端操作系统
request.user_agent.browser #客户端的浏览器
request.user_agent.version #客户端浏览器的版本
request.user_agent.language #客户端浏览器的语言
request.user_agent.string #字符串,包含以上4种信息,等同于request.headers.get('User-Agent')

request.user_agent.platform 支持的客户端操作系统有:

aix
amiga
android
bsd
chromeos
hpux
iphone
ipad
irix
linux
macos
sco
solaris
wii
windows

request.user_agent.browser支持浏览器如下(其中带*号的为爬虫):

aol *
ask *
camino
chrome
firefox
galeon
google *
kmeleon
konqueror
links
lynx
msie
msn
netscape
opera
safari
seamonkey
webkit
yahoo *