# 1c http

> HTTP-клиент для платформы 1С. Позволяет выполнять HTTP-запросы и работать с результатами. Имеет различные функции и поддержку версий.

- GitHub: https://github.com/ndSpacehead/1c_http
- Gitsell page: https://gitsell.ru/ndSpacehead/1c_http
- Visibility: public/free
- GitHub stars: 95
- Gitsell views: 52
- Gitsell downloads: 0

## 1C Configurations

Not specified.

## Pricing

Free or price is not specified.

## README

# HTTP-клиент

Подсистема 1С для работы с HTTP. Представляет собой библиотеку методов и инструменты выполнения HTTP-запросов.

Цель создания подсистемы – предоставить программисту библиотеку с готовым функционалом, решающим прикладные задачи отправки HTTP-запросов исключительно средствами платформы 1С. [Подробнее](/doc/clue.md)

Реализованы:
- исполнение запросов по URI (Клиент "понимает" IDN)
- текучий интерфейс методов настройки выполнения запроса
- хранение данных результатов запросов в рамках сессии
- консоль интерактивного выполнения запросов
- кодогенерация настроенного в консоли запроса
- импорт из Postman (v 2.1) в консоль
- настройка консоли в соответствии с командой curl
- выполнение запросов в серверном и клиентском (асинхронно с версии 2) контексте 1С
- выполнение запросов в мобильном приложении 1С
- повторение попыток выполнить запрос после неуспешного результата (retry) с настраиваемой задержкой (backoff)

Разрабатывается на платформе 8.3.21.1302

Тестировалось на платформе для мобильных устройств 8.3.18.77

### Ограничения версии 2:

- Минимальная требуемая версия платформы: **8.3.18**

### Ограничения версии 1:

- Минимальная требуемая версия платформы: **8.3.10**
- Используются синхронные вызовы
- Не для мобильной платформы

---

[Установка](/doc/installation.md)

[Примеры кода](/doc/code_examples.md) (расширенный список примеров представлен в Wiki репозитория)

[Способ разбора Set-Cookie](/doc/dfa.md)

---

## Структура каталогов репозитория

`./doc` – файлы документации

`./src` – каталог файлов конфигурации

## Ссылки

[URI - Uniform Resource Identifier (RFC 3986)](https://www.ietf.org/rfc/rfc3986)

[Cookies: HTTP State Management Mechanism](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis)

[Punycode](https://datatracker.ietf.org/doc/html/rfc3492)

[Описание формата ZIP файла](https://blog2k.ru/archives/3391), [Запись ZIP файла](https://blog2k.ru/archives/3397)

[curl man page](https://curl.se/docs/manpage.html)

[Создание подписанного запроса для AWS API](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html) и [аутентификация AWS Signature v4](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) от Amazon.