POST-Запрос и его ответ

276
29 марта 2017, 14:23

Вступление: У РЖД есть такая программа лояльности - РЖД Бонус. Суть её в том, что за успешные поездки пассажирам полагается некий бонус. Бонус может быть зачислен на сайте РЖД - указываем необходимые данные: куда, откуда, когда, номер поезда, и т.д., жмём кнопку - отправляется запрос на сервер, после чего юзер получает автоматическое письмо с ответом, получил ли он бонус, или данные введены некорректно. Я хочу рулить этим процессом через своё приложение.

Сначала объявляю httpClient, и использую далее именно этот экземпляр, не создавая новые. Прохожу авторизацию на сайте, и далее пытаюсь провести пост-запрос, который вернёт мне результат. Все необходимые данные для запроса у меня есть. Как формируется запрос знаю (прога Fidler помогла). Но, если произвожу действия через сайт - получаю один результат - приходит письмо, если имитирую те же действия через программу - письма нет.

Кусок кода:

        request_string = "https://rzd-bonus.ru/privateoffice/request.html";
        var request = new HttpRequestMessage(HttpMethod.Post, request_string);
        var formData = new FormUrlEncodedContent(new[]
        {
            new KeyValuePair<string, string>("departureStationText", from),
            new KeyValuePair<string, string>("departureStation", from_code),
            new KeyValuePair<string, string>("arrivalStationText", to),
            new KeyValuePair<string, string>("arrivalStation", to_code),
            new KeyValuePair<string, string>("travelDateString", date),
            new KeyValuePair<string, string>("trainNumber", train_num),
            new KeyValuePair<string, string>("ticketNumber", ticket_num),
            new KeyValuePair<string, string>("docType", doc_type),
            new KeyValuePair<string, string>("docNumber", doc_num)
         });
        var response = await httpClient.PostAsync(request_string, formData);
        string txt = await response.Content.ReadAsStringAsync();

В переменную txt в итоге выводится инфа по предыдущим запросам. Но именно текущий запрос почему-то всегда игнорируется. Инфа по нему добавляется только если провести запрос непосредственно с сайта.

Очень прошу помочь опытных коллег

READ ALSO
Сравнение данных 2-х массивов C#

Сравнение данных 2-х массивов C#

Дано два массива :

297
Почему sayi1 принемает значение sayi2?

Почему sayi1 принемает значение sayi2?

sayi1 принемает значения sayi2 не могу понять почемуВроде бы sayi2 = sayi1 то есть в sayi2 перекидываются значения sayi1 но потом когда sayi2 = 5 и это же значение...

303
ASP MVC 5 Проблемы развертывания в Azure

ASP MVC 5 Проблемы развертывания в Azure

Использую VS 2017Сама визуальная часть отлично публикуется и доступна по url

359
SQLite БД на сетевом диске. Connection.Open() - ошибка?

SQLite БД на сетевом диске. Connection.Open() - ошибка?

ЗдравствуйтеПодскажите как правильно написать путь к БД лежащей в сети?

348