lua解析UserAgent

来源:互联网 发布:曲谱制作软件 编辑:程序博客网 时间:2024/05/22 11:39
--解析UserAgent,获取移动设备访问的系统版本和设备型号
function getUAField(t)
local separator=';'
local tab={}
local android=string.find(t,"Android")
local iphone=string.find(t,"iPhone")
    if android  then
tab["platform"]="android"
local startIndex =string.find(t,"Build")
if startIndex ~= nil then
local res=string.sub(t,0,startIndex-1)
local rtable=string.split(res,separator)
local devicename=string.trim(rtable[#rtable])
if devicename~=nil then
tab["devicename"]=devicename
end
end

local osvTable=string.split(string.sub(t,android) ,separator)
if osvTable then
local osvTab=string.split(osvTable[1] ,' ')
tab["os_version"]=string.trim(osvTab[#osvTab])
end
end

if iphone  then
tab["platform"]="iOS"
tab["devicename"]="iphone"
local vs=string.find(t,"Version")

local osvTable=string.split(string.sub(t, vs) ,' ')
if osvTable then
print(osvTable[1])
local osvTab=string.split(osvTable[1] ,'/')
tab["os_version"]=string.trim(osvTab[#osvTab])
end
end

if  next(tab)  == nil then
tab["platform"]=""
tab["devicename"]=""
tab["os_version"]=""
end

return tab

end
0 0