HTTP-сервис. Как получить параметры POST запроса
КА 2.4
Столкнулся с задачей обработать и выдать результат POST запроса сайта. Отладка работает только с GET запросами, ибо там просто ссылка. С POST приходится писать почти вслепую.
Вопросы... как получить параметры POST запроса и есть ли отличия в ответе или можно оставить как GET ?
Столкнулся с задачей обработать и выдать результат POST запроса сайта. Отладка работает только с GET запросами, ибо там просто ссылка. С POST приходится писать почти вслепую.
Вопросы... как получить параметры POST запроса и есть ли отличия в ответе или можно оставить как GET ?
//GET запрос работает правильно.
Функция AuthorizationПолучить(Запрос)
Логин = Запрос.ПараметрыURL["Login"];
Пароль = Запрос.ПараметрыURL["Password"];
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки(ПолучитьМассивРезультатов(Логин, Пароль));
Возврат Ответ
КонецФункции
ПоказатьПрикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) как получить параметры ПОСТ запроса самый очевидный способ попросить того кто отправляет пост запрос рассказать какие параметры используются. Должна быть документация. И вы уже зная параметры их обрабатываете. Вроде так жизнь устроена.
... зная параметры вы уже можете сами сгенерировать ПОСТ запрос себе и отладка будет не такой слепой как раньше.. а так параметры передаются в двух вариантах в урл или самом запросе
... зная параметры вы уже можете сами сгенерировать ПОСТ запрос себе и отладка будет не такой слепой как раньше.. а так параметры передаются в двух вариантах в урл или самом запросе
Код = Запрос.ПараметрыURL.Получить("m");
Время = Запрос.ПараметрыЗапроса.Получить("t");
Вот допустим
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", Authorization);
Заголовки.Вставить("X-User-Authorization", XUserAuthorization);
Заголовки.Вставить("Content-Type", "application/json;charset=UTF-8");
HTTPЗапрос = Новый HTTPЗапрос(Запрос, Заголовки);
HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки);
HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяВыходногоФайла);
Показать
ОтветСервера = Новый Соответствие;
Content_Type = Объект.Content_Type ;
ЗаголовокHTTP = Новый Соответствие;
ЗаголовокHTTP.Вставить("Content-Type",Content_Type);
ЗаголовокHTTP.Вставить("Authorization"," AccessToken " + Объект.ТокенАвторизации);
ЗаголовокHTTP.Вставить( "X-User-Authorization"," Basic " + Объект.КлючАвторизации);
ssl = Новый ЗащищенноеСоединениеOpenSSL( Неопределено, Неопределено );
Попытка
Соединение = Новый HTTPСоединение( Объект.Host,,,,,0,ssl);
Исключение
Сообщить("Не удалось установить соединение" + Символы.ПС + ИнформацияОбОшибке().Описание+ " Подготовка и отправка электронной формы Ф103 не выполнена !", СтатусСообщения.Важное);
Возврат ОтветСервера;
КонецПопытки;
HTTPЗапрос = Новый HTTPЗапрос();
HTTPЗапрос.АдресРесурса = ЛокальныйURL;
HTTPЗапрос.Заголовки = ЗаголовокHTTP ;
HTTPОтвет = Соединение.ОтправитьДляОбработки (HTTPЗапрос); //POST !!!
Показать
(23) да. Я разобрался. Спасибо за помощь!
Шаблон: /*
Затем в обработчике ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку();
------WebKitFormBoundarybrRuPS8IXUytPud0
Content-Disposition: form-data; name="Login"
МойЛогин
------WebKitFormBoundarybrRuPS8IXUytPud0
Content-Disposition: form-data; name="Password"
МойПароль
------WebKitFormBoundarybrRuPS8IXUytPud0--
Вот щас буду искать, как оттуда вытащить мои значения.
Шаблон: /*
Затем в обработчике ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку();
------WebKitFormBoundarybrRuPS8IXUytPud0
Content-Disposition: form-data; name="Login"
МойЛогин
------WebKitFormBoundarybrRuPS8IXUytPud0
Content-Disposition: form-data; name="Password"
МойПароль
------WebKitFormBoundarybrRuPS8IXUytPud0--
Вот щас буду искать, как оттуда вытащить мои значения.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот