[prg] api для РЖД или любого другого сервиса поиска билетов
Всех приветствую. Поскольку вроде в приложении для ржд и в других
приложениях или на других сайтах такой функции нету,хотя есть очень
похожая функция,я хочу написать приложение под android,которое выполняет
только эту функцию. Я очень люблю ездить в поездах на нижних полках,но
на них не всегда есть билеты. Поэтому идея моей программы состоит в
том,что она каждый равный интервал времени,к примеру каждую
секунду,должна делать http запрос и парсить полученный json,xml или csv
файл,который должен содержать все поезда,которые ходят из пункта а в
пункт б в указанную дату при этом,конечно,очень нужно чтобы для каждого
поезда отображались свободные места. Поскольку все вагоны поездов
стандартные,то для меня не составит проблемы написать
алгоритм,который,получив на вход свободное место,определит,верхнее ли
оно,или нижнее,поэтому если api не будет показывать количество верхних и
нижних мест в данном вагоне данного поезда,это для меня совсем не
критично. После того,как появится нижнее место или любое место,введённое
в поле ввода,программа должна сообщить пользователю об этом. Я пытался
читать про api ржд,но я не понял,как им пользоваться,т.к на том же
github,где есть пример подходящего мне запроса,он нарисован графически и
скорее всего те же работники rucaptcha не будут распознавать его,а когда
я нашёл разные запросы к этому api на других сайтах,и попробовал ввести
его через браузер,у меня или выдаётся системная ошибка,или открывается
веб страоница. Единственное,что я смог сделать,это получить json
файл,который содержит код станции,имя которой я ввожу. Я читал,что для
api ржд нужно вначале вводить авторизационный http запрос,чтобы получить
некоторые параметры для следующего запроса. Если это так,подскажите
пожалуйста,какой должен быть запрос для этого api. Также,если вас не
затруднит,напишите пожалуйста пример запроса,который позволит мне
получить список свободных мест во всех вагонах всех
поездов,отправляющихся,к примеру,24 октября этого года,которые есть в
этих поездах из Москвы до минска. Я не настаиваю на api ржд,хотя моя
цель пока что работать с поездами,которые едут из белоруссии в Россию.
Просто api ржд это то,что мне первое пришло в голову. Конечно,можно
парсить веб страницу,к примеру того же rzd.ru,но может всё же этого
можно избежать? Поскольку это будет моё первое приложение,которое
использует http запросы,хотелось бы получить советы у более опытных чем
я программистов. 1. С каким интервалом лучше отправлять http запрос ведь
если я,к примеру,буду отправлять его каждую секунду то у тех,кто
использует в данный момент мобильный интернет,очень быстро закончиться
трафик,а если я,к примеру,буду отправлять запросы каждую минуту,то есть
очень большой риск,что пока пользователь узнает о билете,его уже
купят,или одна секунда вполне нормальный интервал? 2. Я читал,что тот же
ржд разрывает соединение при очень частых запросах. Если это
так,подскажите пожалуйста,как это отслеживать и как его восстановить?
Заранее всем огромное спасибо за помощь.
Привет Саша.
Саша Козловский пишет 23.10.2018 15:07:
Слушай, Ты пользуешься картами банков, ну для получения пенсии или
других выплат?
Если да, то пробуй использовать Api именно интернет-банкинга, если он
конечно есть.
Объясню чуток подробнее на своём примере:
У меня есть карта банка, банк в свою очередь уже синхронизирован с
Государственной ЖД и у банка уже есть api для не только отслеживания,
но ещё и автоматического выкупа, в случае совпадения.
Понимаешь о чём Я? Ты вот спрашиваешь сколько надо раз слать запросы,
но пойми, что у тех, у кого есть синхронизация билетов с банком, им
достаточно будет всего пару раз палец к сканеру приложить, и всё,
билет куплен.
А так вот что мы имеем в случае если будем работать через api банка:
Можно отслеживать не только нижние полки, но я ещё исключаю два
последних, которые возле туалета. Автоматический выкуп стольких мест,
сколько тебе надо, сразу можно указывать и оплачивать доп.услуги, ну и
конечно же огромная скорость выполнения всего выше перечисленного, да,
и три раза в минуту вполне достаточно.
Только вот каюсь, у меня это реализовано не на Android, да и вообще
честно говоря Я не представляю себе такую дятло-долбёжную прогу на
смартфоне, ведь от неё если и будет толк, то в том случае, если сидеть
всё время возле розетки, ну плюс ещё качество мобильной связи в
движении, цена за мобильный интернет, короче от души советую подумать
о целисообразности реализации данного проэкта на носимом устройстве.
Если в Белоруссии проблемы с банками, пробуй смотреть в сторону таких
интернет-банков как: Киви или Яндекс Деньги, ещё можно Тинькофф
посмотреть.
Я не уверен что в этих банках есть Api РЖД, но может у вас что-то есть.
Короче от всей души желаю реализовать задумку, потом веб-морду
напишем, прикрутим возможность привязывать карты нескольких банков и
все будем ездить на нижних полках, хотя Я бы ещё подумал чтобы вместе
с проводницей, так теплее просто.