Open qiang-gao-cn opened 5 years ago
qiang-gao-cn解析UA的代码:
var result = dataobj[i];
var Devices;
if ( result.indexOf("crawler") != -1 || result.indexOf("Java") != -1 || result.indexOf("Go-http-client") != -1 || result.indexOf("WhatsApp") != -1 || result.indexOf("curl") != -1 || result.indexOf("Test") != -1) {
Devices = "bot";
} else if (result.indexOf("Apple TV") != -1 || result.indexOf("CrKey") != -1 || result.indexOf("Roku") != -1 || result.indexOf("AFTS") != -1 || result.indexOf("SmartTV") != -1 || result.indexOf("NetCast") != -1) {
Devices = "TV";
} else if (result.indexOf("Windows") != -1) {
if (result.indexOf("Android") != -1) {
Devices = "Android";
} else if (result.indexOf("Phone") != -1) {
Devices = "Windows Phone";
} else {
Devices = "Windows";
}
} else if (result.indexOf("iPhone") != -1 || result.indexOf("iPod") != -1 || result.indexOf("iPad") != -1) {
Devices = "iOS";
} else if (result.indexOf("Macintosh") != -1 || result.indexOf("Mac") != -1) {
Devices = "Mac OS";
} else if (result.indexOf("Linux") != -1) {
if (result.indexOf("Android") != -1) {
Devices = "Android";
} else {
Devices = "Linux";
}
} else if (result.indexOf("VLC") != -1 || result.indexOf("Lavf") != -1) {
Devices = "ffmpeg";
} else if (result.indexOf("Android") != -1 ) {
Devices = "Android";
} else if (result.indexOf("CrOS") != -1) {
Devices = "ChromeOS Desktop";
} else {
Devices = "Unknown";
}
qiang-gao-cn判断比较与dao-lab判断:
windows的进一步判断;因为win98 或win95区别于windwos NT的判断;
Android的判断;因为Android是使用linux内容,所以Android的user-agent会同时包含Android和linux两个字符;
对于UA内容的初步解析;获取UA的系统名称; UA例子:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36