Определение и парсинг User Agent на PHP, JS, Python

Фраза «user agent» или «строка user agent» звучит как ругательство. Разработчики используют User Agent для определения типа браузера, чтобы знать какими свойствами он обладает. Хотя, гораздо проще и правильнее определять наличие самого свойства. Но, на сегодняшний день все еще есть применения для строки user agent. Одно из них, например, определить какую мобильную тему выставить на продажу; это можно определить как на серверной стороне, так и на стороне клиента. Для экономии времени и нервов, существует ua-parser, с помощью которого можно получить строку user agent, а также сделать ее парсинг. Информацию о клиенте мы получим в виде объекта. Проводить парсинг можно на PHP, JavaScript и Python.

Пример строки User Agent

'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3'

Определение User Agent на JS

var uaParser = require('ua-parser'),
  uaParser.parse(navigator.userAgent);

console.log(ua.tostring());  // -> "Safari 5.0.1"

console.log(ua.toVersionString());  // -> "5.0.1"

console.log(ua.family);  // -> "Safari"

console.log(ua.major); // -> 5

console.log(ua.minor);  // -> 0

console.log(ua.patch);  // -> 1

Определение User Agent на PHP

// подключение библиотеки
require("UAParser.php");

// Парсинг UA
$result = UA::parse();

// выводим информацию :)
print $result->full;  // -> Chrome 16.0.912/Mac OS X 10.6.8

print $result->browserFull;  // -> "Chrome 16.0.912"

print $result->browser;  // -> "Chrome"

print $result->version;  // -> "16.0.912"

print $result->major;  // -> 16 (minor, build, & revision также доступно)

print $result->osFull;  // -> "Mac OS X 10.6.8"

print $result->os;  // -> "Mac OS X"

print $result->osVersion;  // -> "10.6.8"

print $result->osMajor;  // -> 10 (osMinor, osBuild, & osRevision также доступно)

Определение User Agent на Python

# Импорт библиотеки
from ua_parser import user_agent_parser

# Парсинг user agent
user_agent_parser.Parse(request.META.get('HTTP_USER_AGENT'))

print result_dict['user_agent']
# {'major': '5', 'minor': '1', 'family': 'Mobile Safari', 'patch': None}

print result_dict['os']
# {'major': '5', 'patch_minor': None, 'minor': '1', 'family': 'iOS', 'patch': None}

print result_dict['device']
# {'is_spider': False, 'is_mobile': True, 'family': 'iPhone'}

Код в примерах прост для тех кто будет его использовать. Нет потребности разъяснять, использование данных user agent простое. Спасибо разработчику Тоби Лангелсу за столь удобную библиотеку.


Источник материала ...

Дальше: Может-ли плохое SEO убить ваш бизнес?


Дискуссия по теме     0 Комментариев
Добавить комментарий
Просмотров: 18830
Страхование КАСКО
карта банка
ндфл
усн
Оформление доверенности
страхование ипотеки
esim
осаго
ВЗР страхование
кредитная карта
Cialis barato Viagra Contrareembolso Cialis 5 mg precio mejores farmacias para comprar Viagra reacciones adversas de Cialis Reduslim cómo tomar soluciones para la impotencia Sildenafil Comprare Cialis 5 mg Giornaliero online in Italia Effetti indesiderati del Cialis 5 mg Acquista Cialis 20mg Cialis originale in vendita In Svizzera si compra il Viagra senza ricetta Cialis 10mg online Acquista Viagra in farmacia Offerta Cialis 5mg Spedra Avanafil in vendita online Acquista Viagra in Svizzera senza prescrizione авиатор спрайб Consegna a domicilio di Cialis 5 mg Effetti collaterali di Cialis 5 mg Consegna a domicilio di Cialis 20mg Acquista Cialis originale generico in Svizzera Consegna a domicilio di Viagra senza ricetta in Svizzera Compra Cialis 10mg Consegna a domicilio di Viagra in farmacia online Sconto Cialis 5mg Comprar Reduslim por internet Comprare Spedra Avanafil senza ricetta online Dove comprare il Viagra in Svizzera Compra Cialis Comprar online Viagra Contrareembolso Dónde encontrar Cialis 5 mg al mejor precio Viagra sin receta Cialis 5 mg efectos secundarios graves Reduslim comprar en línea Disfuncion Erectil tadalafilo avanafil prezzo cialis 20 mg prezzo cialis effetti benefici cialis 10 mg Reduslim Kaufen pulse x coin price