@EVOSandru6

Реально ли в мобильном браузере определить Huawei тип мобильного устройства?

Подскажите - реально ли в мобильном браузере определить Huawei тип мобильного устройства на серверном роуте?

Это необходимо для определения стора ( apple, google huawei ) для последующего редиректа, на который должен отправится пользователь.

Вывожу логи заголовков в роуте Lumen фрэймворка:

Log::info('goToStore____________');
Log::info('goToStore__request__body' . json_encode($request->all()));
Log::info('goToStore__request__headers' . json_encode($request->headers->all()));


Выводится:
[2021-01-08 08:54:22] prod.INFO: goToStore____________
[2021-01-08 08:54:22] prod.INFO: goToStore__request__body[]
[2021-01-08 08:54:22] prod.INFO: goToStore__request__headers{"accept-language":["ru,en-US;q=0.9,en;q=0.8,ru-RU;q=0.7"],"accept-encoding":["gzip, deflate"],"referer":["android-app:\/\/org.telegram.messenger\/"],"accept":["text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8,application\/signed-exchange;v=b3;q=0.9"],"user-agent":["Mozilla\/5.0 (Linux; Android 10; STK-LX1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/87.0.4280.101 Mobile Safari\/537.36"],"upgrade-insecure-requests":["1"],"connection":["keep-alive"],"host":["185.159.129.185:83"],"content-length":[""],"content-type":[""]}

Подовного вида заголовков достаточно - чтобы определить - что определить Android или Iphone

Но именно huawei так определить не является возможным.

Для определения использовал:

$agent = new \Jenssegers\Agent\AgentAgent();

$agent->setHttpHeaders($request->headers->all());

$result = [
    'android' => $agent->isAndroidOS(),
    'iphone' => $agent->isIphone(),
    'huawei-1' => $agent->match('/huawei/iu'),
    'huawei-2' => $agent->isHuawei()
];


Напрямую не могу послать пользователя на серверный роут, т.к. по смс это возможно сделать только через браузер.

Может кто-то сталкивался с такой проблемой?
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Mozilla\/5.0 (Linux; Android 10; STK-LX1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/87.0.4280.101 Mobile Safari\/537.36


5ff90ab153b6a206459229.png

Нужна база устройств как минимум типа как здесь https://github.com/WhichBrowser/Parser-PHP

https://github.com/WhichBrowser/Parser-PHP/blob/88...
тут вроде есть определение такого префикса как хуавей, но не факт что именно в таком виде.

Так что реально, но сложно и надо постоянно свежую базу иметь.
Малоприменимо на практике, проще забить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы