Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forbidden #16

Open
uristA opened this issue Jun 3, 2022 · 10 comments
Open

Forbidden #16

uristA opened this issue Jun 3, 2022 · 10 comments

Comments

@uristA
Copy link

uristA commented Jun 3, 2022

Даже в новой версии при попытке обратится к https://pass.rzd.ru/timetable/public......... выдает forbidden.
rzd-api v3
php 8.1

@1Bitcoin
Copy link

такая же проблема, пару раз из браузера подрубался, а через прогу 403 ошибка, а теперь вообще timeout @visavi

@visavi
Copy link
Owner

visavi commented Jun 14, 2022

Они там что-то замутили с защитой, подозрительные и неверные запросы сразу же банятся по IP (или еще как-то)
Используйте прокси, подменяйте Referer итд это все есть в примерах

Проверил все api только что, все работает нормально

@1Bitcoin
Copy link

Они там что-то замутили с защитой, подозрительные и неверные запросы сразу же банятся по IP (или еще как-то) Используйте прокси, подменяйте Referer итд это все есть в примерах

Проверил все api только что, все работает нормально

а проверяли с установкой rid или session? у меня именно 403 выдавало

@visavi
Copy link
Owner

visavi commented Jun 14, 2022

Не понял вопрос
Я проверял данное api
В директории example есть уже готовые примеры, можно там потыкать, все работает

@visavi
Copy link
Owner

visavi commented Jun 14, 2022

Даже в новой версии при попытке обратится к https://pass.rzd.ru/timetable/public......... выдает forbidden. rzd-api v3 php 8.1

Не совсем понял, вы напрямую обращаетесь по этому адресу или как?
Вот пример как получать данные, самый простой пример

$params = [
    'dir'        => 0, 
    'tfl'        => 3,
    'checkSeats' => 1,
    'code0'      => '2004000',
    'code1'      => '2000000',
    'dt0'        => '15.06.2022', //  тут подставляете актуальную дату
];

$api = new Rzd\Api();

var_dump($api->trainRoutes($params));

@pmshik
Copy link

pmshik commented Aug 29, 2023

Поиск станций и поездов работают без вопросов, как описано. Но метод получения списка вагонов чем-то отличается от них. Rid выдает, но при попытке вытащить данные либо сообщение об ошибке сервера с 200 статусом, либо 403. Пока дебажил примеры, чтоб понять что там с хедерами в запросах - меня сервак ржд заблочил)

@track2
Copy link

track2 commented Apr 18, 2024

То же самое, подтверждаю. Без проблем находит список станций, поезда. Но совершенно аналогичным способом не позволяет получить ни список вагонов, ни билеты.
По полученному RID возвращает ошибку {"result":"FAIL","type":"SESSION_EXPIRED","error":"Сессия истекла. Пожалуйста, попробуйте обновить страницу.","timestamp":"<дата_время>"}
Пробовал различные верианты Referer, пробовал добавлять задержки перед фетчингом данных, пробовал даже стучаться на разные API эндпоинты - всё мимо.
Есть живой способ получения свободных мест "от станции до станции" в конкретно выбранном поезде?

UPD: кажется реализовал через API нового сайта, советую смотреть в эту сторону. По крайне мере пока не банит))

@all4time
Copy link

all4time commented Apr 26, 2024

@track2

UPD: кажется реализовал через API нового сайта, советую смотреть в эту сторону. По крайне мере пока не банит))

Вы имеете ввиду rzd-api 4.0.1, упоминая API нового сайта?

@track2
Copy link

track2 commented Apr 30, 2024

Вы имеете ввиду rzd-api 4.0.1, упоминая API нового сайта?

Нет, я имею в виду запросы к новому API РЖД (ticket.rzd.ru):
/apib2b/p/Railway/V1/Search/TrainPricing
/apib2b/p/Railway/V1/Search/TrainRoute
и т.д.
Перед данными запросами на всякий случай генерирую валидный Referer вида:
Referer: https://ticket.rzd.ru/searchresults/v/1/<nodeId_0>/<nodeId_1>/< date>
где node_0 и node_1 это станции отправления и прибытия (можно извлечь из GET запроса к ticket.rzd.ru/api/v1/suggests с соответствующими параметрами), date - дата поездки.

Меня не банит по крайней мере, но у меня нагрузка такая... Никакая :) Для собственных нужд небольшая консольная утилита.

@wellmorq
Copy link

Подтверждаю проблему.
Возникает не везде и не всегда, лишь на некоторых поездах будто бы. Видимо поэтому @visavi не поймал проблему.
Тоже думаю на старый эндпоинт..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants