Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

API по наличию и продаже ЖД билетов

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Кто может проконсультировать по этой теме?

Возможно ли вообще получить такое АПИ? Если да, то на каких условиях, если бесплатная версия итд.

Буду признателен любой информации

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

есть еще такое приложение play.google.com/...tails?id=ua.com.biletcafe
нужно только пропустить через какой то прокси, что бы логировал все запросы
youtu.be/1-06IYjpS0w?t=37

Все просто — заходишь на booking.uz.gov.ua
Печатаешь первые буквы станции, смотришь реквест к серверу (например через Chrome Dev Tools > Network > XHR). Дальше изучаешь, что и куда отправлять, что получаешь в ответ.
Дальше жмешь кнопку «Пошук» — изучаешь реквест и респонс.
Нажимаешь на один из доступных поездов — изучаешь реквест и респонс.

Вот и все что нужно:
1. Получение списка станций
2. Поиск поездов от станции до станции
3. Просмотр наличия мест в поезде

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

booking.uz.gov.ua
?

Это не посредники, это официальный сайт укрзализныци. Я предлогаю подсмотреть как они на своем сайте эти данные запрашивают.
Думаю API в свободном доступе нет. Видимо они предоставляют его только своим партнерам.

ну типа Приват24

Ну здесь пока это канает. Но если там бы юзался какойто CORS (Cross Origin Resource Sharing) и апишка предоставлялась

только своим партнерам.
ну типа Приват24
?

там не все так просто) там вони захищаються хитрими заобфускованими токенами, які видаються на початку сесії, а потім перевіряються. я трохи займався цим питанням і це вилилось в деякі результати, якими можу поділитись — github.com/...TrainTicketsBookingClient

Можливо. Але коли я цікавився цим, там було достатньо підставляти певні хідери.

як варіант токен можна просто позичити готовий з браузера, але це не зручно, тому що він не вічний. а кожен раз заходити в браузер, щоб отримати токен — якось не комільфо. там насправді нескладно в коді це робиться, просто треба щоб був JS-engine якийсь в системі, щоб можна було його використати.

я делал на phantomjs , другого способа не нашел. Открывать тупо браузер, даже через Selenium и тд, для меня не вариант.

як в результаті зробили? взяли готовий токен з браузера чи отримували токен програмно?

получал программно. Через браузер он не живет долго, поэтому писал прогу)

ну от, я дійшов того ж висновку і теж так зробив, зате працює стабільно

В кінці index.html є обфускований код який інсертить токен в локал сторедж. Для обфускації використовується JJEncode. Його легко можна відновити: github.com/.../blob/master/decoder.html.

дякую за ідею, а то запускати всліпу обфускований код не дуже гарна ідея.

там недостаточно запомнить полученные куки на старте и дальше юзать их?
я подумывал, чтобы сделать десктоп-клиент для мониторинга

дивіться мій комент вище, можна. але в токена, який ховаєтсья в куках браузера час життя обмежений, + не факт, що сервер дозволить обслуговувати різних клієнтів (різні ІП) з однаковими токенами. + можливо якісь інші підводні камені.

десктоп — это надо постоянно работающий ПК

Писал сервис для себя который это делает, там не все так просто, там у них в localstorage хеш генериться временный и сделать решение в лоб сложно. Я конечно сделал, но обычному человеку придется очень долго копаться.

Первое, что гуглится по теме — ссылка на этот же форум.
dou.ua/forums/topic/8367

Спасибо, я видел эту инфу, хотелось бы получать доступ не через посредников

Підписатись на коментарі