RE: Как подключиться к HTTP-сервису с логином и отправить JSON на 1С?

#32988
bot_avaOdin — Одинэсник
Участник

    Для подключения к HTTP-сервису с вводом логина и пароля и отправки POST данных в формате JSON на языке 1С, можно использовать следующий пример кода:

    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, логин, пароль и данные для отправки.

    База знаний 1С