Отправляет email-рассылки с помощью сервиса Sendsay

[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. Я читал,что тот же
ржд разрывает соединение при очень частых запросах. Если это
так,подскажите пожалуйста,как это отслеживать и как его восстановить?
Заранее всем огромное спасибо за помощь.

Ответить   Tue, 23 Oct 2018 15:07:29 +0300 (#3588406)

 

Ответы:

Привет Саша.

Саша Козловский пишет 23.10.2018 15:07:

Слушай, Ты пользуешься картами банков, ну для получения пенсии или
других выплат?
Если да, то пробуй использовать Api именно интернет-банкинга, если он
конечно есть.
Объясню чуток подробнее на своём примере:
У меня есть карта банка, банк в свою очередь уже синхронизирован с
Государственной ЖД и у банка уже есть api для не только отслеживания,
но ещё и автоматического выкупа, в случае совпадения.
Понимаешь о чём Я? Ты вот спрашиваешь сколько надо раз слать запросы,
но пойми, что у тех, у кого есть синхронизация билетов с банком, им
достаточно будет всего пару раз палец к сканеру приложить, и всё,
билет куплен.
А так вот что мы имеем в случае если будем работать через api банка:
Можно отслеживать не только нижние полки, но я ещё исключаю два
последних, которые возле туалета. Автоматический выкуп стольких мест,
сколько тебе надо, сразу можно указывать и оплачивать доп.услуги, ну и
конечно же огромная скорость выполнения всего выше перечисленного, да,
и три раза в минуту вполне достаточно.
Только вот каюсь, у меня это реализовано не на Android, да и вообще
честно говоря Я не представляю себе такую дятло-долбёжную прогу на
смартфоне, ведь от неё если и будет толк, то в том случае, если сидеть
всё время возле розетки, ну плюс ещё качество мобильной связи в
движении, цена за мобильный интернет, короче от души советую подумать
о целисообразности реализации данного проэкта на носимом устройстве.
Если в Белоруссии проблемы с банками, пробуй смотреть в сторону таких
интернет-банков как: Киви или Яндекс Деньги, ещё можно Тинькофф
посмотреть.
Я не уверен что в этих банках есть Api РЖД, но может у вас что-то есть.
Короче от всей души желаю реализовать задумку, потом веб-морду
напишем, прикрутим возможность привязывать карты нескольких банков и
все будем ездить на нижних полках, хотя Я бы ещё подумал чтобы вместе
с проводницей, так теплее просто.

Ответить   Wed, 24 Oct 2018 02:44:13 +0300 (#3588487)

 

Здравствуйте Дмитрий. Вы писали

Ну вообще я пользуюсь интернет-банкингом и у меня даже есть карта
сбера,т.к я раньше учился в Москве. Поэтому в принципе можно начать с
этого api. А насчёт автоматической покупки,так я только за,просто у меня
сначала была задумка сообщить пользователю,что в таком то поезде
появилось такое-то свободное место,а он бы сам потом выкупил это
место,но раз существует api для автоматической покупки билетов,во что я
не очень верил и верю,т.к тогда любой злоумышленник может бесконтрольно
снимать деньги с карты любого пользователя и переводить себе,я с
удовольствием внедрю автопокупку в моё приложение. Кстати я лично
предпочитаю места как можно ближе к туалету,т.к тогда мне будет удобнее
добираться до туалета,но это в нашей задаче не важно,т.к по моей задумке
у пользователя будет возможность ввести места,на которые он хочет купить
билет. В общем если у Вас есть хорошо документированное api для поиска и
автопокупки билетов,дайте пожалуйста мне на него ссылку.
Хотя,конечно,здесь есть один момент: Если вдруг из-за какого-то моего
бага деньги спишутся,а билет не будет куплен,то все убытки пользователей
придётся компенсировать мне,поэтому я ещё буду думать над этой
идеей,хоть идея автопокупки билетов мне лично очень нравится. Ещё Вы пишете

Я хочу реализовать эту прогу чисто на смарте по следующим причинам: 1. Я
спокойно могу отслеживать билеты выходя из дома и взяв с собой смарт в
карман. 2. Мне лично нравится пользоваться графическим интерфейсом
приложения,а не веб интерфейсом,к тому же по моей задумке это приложение
будет отслеживать билеты в фоновом режиме. 3. Это приложение лучше
писать для смарта,т.к оно,по моей задумке,должно кроме стандартного
диалога издавать очень громкий звук,чтобы оповестить пользователя,что
появилось данное свободное место в данном поезде,а если это будет веб
приложение,то понадобится больше трафика,чтобы этот звуковой файл
загрузить с сервера,к тому же могут возникнуть некоторые проблемы с
браузерами,такие как: разрешение flash или javascript и т.д. 4. На
разных браузерах это приложение может выглядеть по разному и даже его
доступность может отличаться. Исходя из этих причин я очень
категорически настроен писать это приложение для android и,может быть
когда-нибудь,для других мобильных систем,когда у меня будут устройства
на этих системах. Заранее благодарю Вас за помощь.

Ответить   Wed, 24 Oct 2018 14:39:58 +0300 (#3588564)