Как узнать "платформу" текущего профиля (десктоп, планшет, мобила)?

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Есть возможность как-то по профилю понять, какая у него платформа?
Чтобы не разбирать UA, которые надо где-то по какой-то базе прогонять, сверяя, чтобы понять.
При генерации профиля же мы указываем платформу, почему обратно бы не получить эти данные простым путем? Нигде в "окружении" не нашел намеков, может, есть вариант?
На выходе, условно, нужно desktop, tablet или mobile.
 

bomby

Client
Регистрация
08.01.2018
Сообщения
99
Благодарностей
50
Баллы
18
Неплохая хотелка кстати:df: Было бы удобно по ветке уводить выполнение шаблона в зависимости от платформы, а пока только разные папочки с профилями)
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Неплохая хотелка кстати:df: Было бы удобно по ветке уводить выполнение шаблона в зависимости от платформы, а пока только разные папочки с профилями)
Да вот по той же причине и хочется. Может, есть какой-нить секретный сниппет, который "поделится истиной" )))
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Сделай маленький шаблон, который загружает профиля и за ранее подготовь регулярные выражения {-Profile.UserAgent-} макрс
1594670668103.png
А там от агента пересохрани по папкам
Еще как вариант профили открыть и посмотреть, вот как этот файл в зенно открыть хз
59839
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Еще как вариант профили открыть и посмотреть, вот как этот файл в зенно открыть хз
Распаковывать файл профиля, с помощью 7zip например или winrar. В них есть консольная утилита, ее можно запускать используя параметры. Затем искать файл нужный и парсить его.
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Там интересные файлы в профиле, еще бы понимать что к чему, можно и свои записи добавлять
59842
 

Iv1

Client
Регистрация
21.02.2016
Сообщения
1 947
Благодарностей
767
Баллы
113
Там интересные файлы в профиле, еще бы понимать что к чему, можно и свои записи добавлять
Посмотреть вложение 59842
Так тут же подписано что к чему))
профиль - это архив.
Строчки- это текстовые файлы, который открываются notepad++ (как пример).
Так же для читабельности можно дополнительно для себя отформатировать через спец символы. (разделитель подбирать по месту)
59845

И становится намного все более читабельно!
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Так тут же подписано что к чему))
профиль - это архив.
Строчки- это текстовые файлы, который открываются notepad++ (как пример).
Так же для читабельности можно дополнительно для себя отформатировать через спец символы. (разделитель подбирать по месту)
Посмотреть вложение 59845
И становится намного все более читабельно!
Разобрать не проблема, надо понимать, а если не чего не понимаешь, лучше не лезть)
 

Iv1

Client
Регистрация
21.02.2016
Сообщения
1 947
Благодарностей
767
Баллы
113

Iv1

Client
Регистрация
21.02.2016
Сообщения
1 947
Благодарностей
767
Баллы
113

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 702
Благодарностей
1 078
Баллы
113
Будет выдавать платформу из ЮА. Либо вин, либо линукс, или еще какую фигню. От этого уже можно плясать
C#:
return project.Profile.UserAgentPlatform;
Как выдирать саму платформу кодом, я не нашел

59850
 
Последнее редактирование:
  • Спасибо
Реакции: Moonwalker и Roman48

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
В общем, насколько я понял, простого решения нет )) Надо либо по UA понять, либо профили разбирать на составные части. Жаль, Надо разрабам предложить, пусть добавят в окружение переменную, которая при генерации профиля будет просто создаваться сразу. А то если десктоп от мобилы проще отличить, то мобилу от планшета уже сложнее, а иногда надо бывает ))
Всем спасибо за наводки ))
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 702
Благодарностей
1 078
Баллы
113
Надо разрабам предложить, пусть добавят в окружение переменную, которая при генерации профиля будет просто создаваться сразу
Сложность заключается в том, что при генерации профиля платформа может быть 'mobile'. однако, ЮА может быть обычный десктопный, вот где засада.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Можно использовать такой метод:
C#:
string profile = project.Profile.ToString();
return profile;
Вернет такие данные:
C#:
<Profile count="1"><Lang>en;</Lang><HumanName>Mayra;</HumanName><HumanSurName>Wlodarczyk;</HumanSurName><HumanSex>False;</HumanSex><HumanNickName>bombiemacra1979;</HumanNickName><HumanEmail>[email protected];</HumanEmail><HumanEmailPassword>password;</HumanEmailPassword><HumanLogin>piasteamnanpo1985;</HumanLogin><HumanPassword>CCQVV1W2UV;</HumanPassword><HumanSecretQuestionAnswer1>488853;</HumanSecretQuestionAnswer1><HumanSecretQuestionAnswer2>414695;</HumanSecretQuestionAnswer2><HumanBirthDay>16.6.1998;</HumanBirthDay><HumanAge>21;</HumanAge><HumanCountry>USA;</HumanCountry><HumanTown>Worcester;</HumanTown><HumanRegion>Massachusetts;</HumanRegion><DevaceCurrent>Desktop;</DevaceCurrent><OsCurrent>Windows7;</OsCurrent><BrowserCurrent>FireFox;</BrowserCurrent><UserAgent>Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0__</UserAgent><appVersion>5.0 (Windows)__</appVersion><appName>Netscape;</appName><appCodeName>Mozilla;</appCodeName><ZipCode>01613;</ZipCode><ScreenHeigth>50505;</ScreenHeigth><ScreenWidth>50505;</ScreenWidth><AvailScreenHeigth>50505;</AvailScreenHeigth><AvailScreenWidth>50505;</AvailScreenWidth><ACCEPT_ENCODING>gzip, deflate, br;</ACCEPT_ENCODING><AcceptCharset>iso-8859-1,*,utf-8__</AcceptCharset><HTTP_ACCEPT>text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8__</HTTP_ACCEPT><HTTP_ACCEPT_LANGUAGE>ru-RU__</HTTP_ACCEPT_LANGUAGE><WindowsScreenX>1920;</WindowsScreenX><WindowsScreenY>1080;</WindowsScreenY><WindowsOuterHeight>50505;</WindowsOuterHeight><WindowsOuterWidth>50505;</WindowsOuterWidth><WindowsInnerHeight>976;</WindowsInnerHeight><WindowsInnerWidth>1920;</WindowsInnerWidth><WindowsOuterHeightShift>108;</WindowsOuterHeightShift><WindowsOuterWidthShift>16;</WindowsOuterWidthShift><CpuClass>__</CpuClass><OsCpu>Windows NT 6.1; WOW64__</OsCpu><Platform>Win32__</Platform><Product>Gecko__</Product><ProductSub>20100101__</ProductSub><BrowserType>Firefox52;</BrowserType></Profile>
Парсить этот параметр:
C#:
<DevaceCurrent>Desktop;</DevaceCurrent>
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Можно использовать такой метод:
C#:
string profile = project.Profile.ToString();
return profile;
Вернет такие данные:
C#:
<Profile count="1"><Lang>en;</Lang><HumanName>Mayra;</HumanName><HumanSurName>Wlodarczyk;</HumanSurName><HumanSex>False;</HumanSex><HumanNickName>bombiemacra1979;</HumanNickName><HumanEmail>[email protected];</HumanEmail><HumanEmailPassword>password;</HumanEmailPassword><HumanLogin>piasteamnanpo1985;</HumanLogin><HumanPassword>CCQVV1W2UV;</HumanPassword><HumanSecretQuestionAnswer1>488853;</HumanSecretQuestionAnswer1><HumanSecretQuestionAnswer2>414695;</HumanSecretQuestionAnswer2><HumanBirthDay>16.6.1998;</HumanBirthDay><HumanAge>21;</HumanAge><HumanCountry>USA;</HumanCountry><HumanTown>Worcester;</HumanTown><HumanRegion>Massachusetts;</HumanRegion><DevaceCurrent>Desktop;</DevaceCurrent><OsCurrent>Windows7;</OsCurrent><BrowserCurrent>FireFox;</BrowserCurrent><UserAgent>Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0__</UserAgent><appVersion>5.0 (Windows)__</appVersion><appName>Netscape;</appName><appCodeName>Mozilla;</appCodeName><ZipCode>01613;</ZipCode><ScreenHeigth>50505;</ScreenHeigth><ScreenWidth>50505;</ScreenWidth><AvailScreenHeigth>50505;</AvailScreenHeigth><AvailScreenWidth>50505;</AvailScreenWidth><ACCEPT_ENCODING>gzip, deflate, br;</ACCEPT_ENCODING><AcceptCharset>iso-8859-1,*,utf-8__</AcceptCharset><HTTP_ACCEPT>text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8__</HTTP_ACCEPT><HTTP_ACCEPT_LANGUAGE>ru-RU__</HTTP_ACCEPT_LANGUAGE><WindowsScreenX>1920;</WindowsScreenX><WindowsScreenY>1080;</WindowsScreenY><WindowsOuterHeight>50505;</WindowsOuterHeight><WindowsOuterWidth>50505;</WindowsOuterWidth><WindowsInnerHeight>976;</WindowsInnerHeight><WindowsInnerWidth>1920;</WindowsInnerWidth><WindowsOuterHeightShift>108;</WindowsOuterHeightShift><WindowsOuterWidthShift>16;</WindowsOuterWidthShift><CpuClass>__</CpuClass><OsCpu>Windows NT 6.1; WOW64__</OsCpu><Platform>Win32__</Platform><Product>Gecko__</Product><ProductSub>20100101__</ProductSub><BrowserType>Firefox52;</BrowserType></Profile>
Парсить этот параметр:
C#:
<DevaceCurrent>Desktop;</DevaceCurrent>
Ответ получил, хотя по сути должен типа мобиле получить, может я не правильно понимаю
60241

60240
 
  • Спасибо
Реакции: Moonwalker

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Ответ получил, хотя по сути должен типа мобиле получить, может я не правильно понимаю
Да, все верно.
Странно, отправлю программистам информацию по проблеме.
Этот параметр сейчас почему то всегда Desktop.
 
  • Спасибо
Реакции: Moonwalker

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Да, все верно.
Странно, отправлю программистам информацию по проблеме.
Этот параметр сейчас почему то всегда Desktop.
Так и не вышло решить данный вопрос, как я понимаю? Потому, что все еще один и тот же результат - Desctop.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 228
Благодарностей
784
Баллы
113
Тестируйте
 

Вложения

  • Спасибо
Реакции: vintoss и Sergodjan

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 228
Благодарностей
784
Баллы
113
скопируйте Newtonsoft.Json.dll из папки progs в ExternalAssemblies
 
  • Спасибо
Реакции: Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 228
Благодарностей
784
Баллы
113
В переменную profile_path добавьте путь к профилю через входные настройки либо в ручную в снипите пропишите
 
  • Спасибо
Реакции: Roman48

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
скопируйте Newtonsoft.Json.dll из папки progs в ExternalAssemblies
Нельзя так делать, когда dll уже есть в постере, после её обновления в постере - начнутся проблемы.
Есть: using Global.ZennoLab.Json.Linq;
 
  • Спасибо
Реакции: vintoss и Roman48

andrey-ka

Client
Регистрация
03.06.2018
Сообщения
855
Благодарностей
246
Баллы
43
А как такое же проделать если используются профиль-папки?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)