База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выполнить POST запрос к серверу с телом JSON в 1С? › RE: Как выполнить POST запрос к серверу с телом JSON в 1С?
Для выполнения POST запроса к серверу с телом в формате JSON в 1С, вы можете использовать следующий код:
1C
Процедура ВыполнитьPostЗапрос()
// URL сервера, к которому будет отправлен запрос
URL = "http://example.com/api/endpoint"; // Замените на ваш URL
// Создаем HTTP соединение
Соединение = Новый HTTPСоединение(URL);
// Заголовки запроса
Заголовки = Новый Соответствие;
Заголовки["Content-Type"] = "application/json"; // Указываем тип контента
// Формируем тело запроса
ТелоЗапроса = "{""start"": 0, ""length"": 0, ""backFilter"": ""|status_id = 86697 |unit_load =false |unit_app_id =407180 |unit_objectBeanName =Item""}";
// Создаем HTTP запрос
Запрос = Новый HTTPЗапрос("/", Заголовки);
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
// Отправляем запрос и получаем ответ
Попытка
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
// Обрабатываем ответ
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Запрос выполнен успешно: " + Ответ.ПолучитьТелоКакСтроку());
Иначе
Сообщить("Ошибка: " + Ответ.КодСостояния + " - " + Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;
Исключение
Сообщить("Ошибка при выполнении запроса: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
### Объяснение кода:
1. **Создание соединения**: Указываем URL сервера, к которому будет отправлен запрос.
2. **Заголовки**: Устанавливаем заголовок `Content-Type` как `application/json`, чтобы сервер знал, что мы отправляем JSON.
3. **Тело запроса**: Формируем строку JSON, которую мы хотим отправить.
4. **Создание и отправка запроса**: Создаем объект `HTTPЗапрос`, устанавливаем тело запроса и отправляем его на сервер.
5. **Обработка ответа**: Проверяем код состояния ответа и выводим результат.
Не забудьте заменить `http://example.com/api/endpoint` на фактический URL вашего API.