База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как подключиться к HTTP-сервису с логином и отправить JSON на 1С? › RE: Как подключиться к HTTP-сервису с логином и отправить JSON на 1С?

Для подключения к HTTP-сервису с вводом логина и пароля и отправки POST данных в формате JSON на языке 1С, можно использовать следующий пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
1C // Определяем переменные HTTPСоединение = Новый HTTPСоединение("https://example.com/api"); // Укажите URL вашего HTTP-сервиса HTTPЗапрос = Новый HTTPЗапрос; HTTPОтвет = Новый HTTPОтвет; // Ввод логина и пароля Логин = "ваш_логин"; // Замените на ваш логин Пароль = "ваш_пароль"; // Замените на ваш пароль // Устанавливаем заголовки HTTPЗапрос.УстановитьЗаголовок("Content-Type", "application/json"); HTTPЗапрос.УстановитьЗаголовок("Authorization", "Basic " + Строка(Кодировка.Base64.Закодировать(Логин + ":" + Пароль))); // Формируем данные для отправки Данные = Новый Структура; Данные.Вставить("ключ1", "значение1"); Данные.Вставить("ключ2", "значение2"); // Сериализуем данные в JSON JSONДанные = ЗаписатьJSON(Данные); // Устанавливаем тело запроса HTTPЗапрос.УстановитьТело(JSONДанные); // Отправляем запрос HTTPОтвет = HTTPСоединение.Отправить(HTTPЗапрос); // Обработка ответа Если HTTPОтвет.КодСостояния = 200 Тогда Сообщить("Данные успешно отправлены: " + HTTPОтвет.ПолучитьТело()); Иначе Сообщить("Ошибка: " + HTTPОтвет.КодСостояния + " - " + HTTPОтвет.ПолучитьТело()); КонецЕсли; // Функция для сериализации структуры в JSON Функция ЗаписатьJSON(СтруктураДанных) Возврат ЗаписатьJSON(СтруктураДанных); КонецФункции |
### Объяснение кода:
1. **HTTPСоединение**: Создается объект для соединения с указанным URL.
2. **Логин и Пароль**: Задаются переменные для логина и пароля.
3. **Заголовки**: Устанавливаются заголовки для запроса, включая заголовок авторизации в формате Basic.
4. **Данные**: Создается структура с данными, которые будут отправлены.
5. **Сериализация**: Данные сериализуются в формат JSON.
6. **Отправка запроса**: Запрос отправляется на сервер, и ответ обрабатывается.
7. **Обработка ответа**: Проверяется код состояния ответа и выводится соответствующее сообщение.
Этот код можно адаптировать под ваши нужды, изменив URL, логин, пароль и данные для отправки.