Дземброня – Вухатий камінь – Дземброня шИдевр від Приватбанку
Чер 28

Як купувати квитки на букінгу Укрзалізниці з Android'аПеребуваючи у Чехії і в Татрах (про це я напишу пізніше) ми дуже часто користувались додатком під Android Railteam Mobile – розклад всіх потягів по Європі (звісно туди ж Україна не входить). Виїжджаючи зі Словаччини вирішили купити квитки через booking.uz.gov.ua (знову ж таки з телефона). Але не все так просто. На сайті УЗ гордо красувався надпис “Ви використовуєте застарілий браузер. Щоб використовувати всі можливості сайту, завантажте і встановіть один з наступних браузерів”: і 5 посилань на браузери: Google Chrome, Safari, Opera, Mozilla Firefox i Internet Explorer.
Звичайно, що Google chrome на моєму телефоні був найновішої версії, але УЗ ніяк не хотіла бачити його (між іншим, у Firefox – який я поставив для цього – сторінка відкрилась).

Відтоді пройшло вже чимало часу, я і забув про це, а сьогодні Вітя (з яким ми їздили на біатлон і в Татри) кидає посилання на сторінці УЗ в Фейсбуку, де один з користувачів піднімає це питання. Мені стало цікаво, чи можна це якось обійти. Перше, що стукнуло в голову, що їхні програмісти просто перевіряють User-Agent. Значить його треба змінити.

Забиваю в пошук Google marketa “user agent”, завантажую Google UA Switcher (UA – це не Україна, це User-Agent :) ). В програмі ставлю User-Agent – “Desktop Chrome” і вуаля, booking.uz.gov.ua працює на Android’і.

Отже, варіанти, як можна купити квитки :
1) Встановити Google UA Switcher і вибрати User-Agent “Desktiop Chrome”. Єдиний мінус – програмі потрібні права суперкористувача.
2) Встановити Firefox.for Android
3) Використовувати інший сервіс, наприклад Bilet Cafe (здається, вони беруть комісію за квитки) або Mobi booking

Але мене цікавила інша сторона, чому саме User-Agent з мого телефону не проходив перевірку.

User-agent, який дозволяє працювати з booking.uz.gov.ua -
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19

User-agent, який не проходить перевірку на останню версію браузера
Mozilla/5.0 (Linux; Android 4.0.4; HUAWEI U8950D Build/HuaweiU8950D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Mobile Safari/537.36

Пишу простенький скрипт, який curl’ом з’єднується до booking.uz.gov.ua, міняю різні User-Agent’и.
Викидаю різні частини з “невалідного” User-Agent’а.

Приходжу ось до чого:
“Mozilla/5.0 (Linux;Android) AppleWebKit/ (KHTML, like Gecko) Safari/” – такий User-agent невалідний.

Змінюємо одне з ключових слів, наприклад
“Mozilla/5.0 (Linx;Android) AppleWebKit/ (KHTML, like Gecko) Safari/” – і все працює на ура.

Тобто стоїть перевірка на входження слів Linux Android AppleWebKit KHTML (деякі слова повинні бути в “правильному” порядку, деякі ні, як наприклад Linux i Android).

І насамкінець.такий User-Agent kryvorukist-kredo-UZ цілком валідний з т.з програмістів УЗ.

Шкода, що в безкоштовній версії UA Chrome Switcher немає можливості змінювати User-Agent (така можливість тільки в платній версії), а то я би створив такий User-Agent “kryvorukist-kredo-UZ” і заходив би на сторінку booking.uz.gov.ua.

Але я зараз перебуваю в ступорі, я не можу зрозуміти логіку їхньої перевірки.

Теги: , ,


Залишити коментар

*