Эта компонента создавалась для работы с онлайн кассой Dreamkas из среды 1С 7.7. «Родная» компонента 1С V7HttpReader из библиотеки V7Plus.dll устарела и не работает по протоколу HTTPS. Как вариант можно использовать COM-объект Msxml2.XMLHTTP в составе ОС Windows не очень старой версии. Но, например, в Windows XP и в Microsoft Windows Server 2003 этот COM-объект также устарел.
Клиент HTTP(S) разработан по технологии создания внешних компонент для платформы 1С 7.7 в среде Lazarus благодаря публикации № 279986 «Шаблон внешней компоненты COM для Lazarus (FreePascal)». Позволяет работать с веб-сервисами по протоколу HTTP или HTTPS и использовать любые способы передачи: GET, POST, PUT, DELETE, OPTIONS.
Поддерживается автоматическая распаковка данных сжатых в формате gzip.
Протокол HTTPS работает с библиотекой OpenSSL версии 1.0.2 и поддерживает TLS v1.2.
В прилагаемой внешней обработке демонстрируются примеры запросов: 1) по HTTP к веб-сервису ЦБ РФ и 2) по HTTPS к веб-сервису Gismeteo (так как это ресурс платный, то в ответ приходит сообщение о «плохом токене»).
Функционал компоненты:
Методы объекта «AddIn. HTTPS77»:
Запросить (<URL>, <Метод> ) – запрос к Internet -ресурсу без передачи данных для обработки.
ПолучитьКакФайл(<URL>, < ФайлПриемник >) – запрос к Internet -ресурсу с сохранением «тела» ответа в файл.
Обработать (<URL>, <Метод>, <Источник>, <ТипИсточника>, <ФайлПриемник>) – универсальный запрос к Internet -ресурсу.
УдалитьЗаголовкиЗапроса() – удаляет все HTTP-заголовки запроса.
УстановитьЗаголовокЗапроса (<ИмяЗаголовка>,<Содержание>) – устанавливает HTTP-заголовок запроса.
КоличествоЗаголовковОтвета () – количество заголовков в ответе сервера.
ПолучитьЗаголовокОтвета(<НомерЗаголовка>) – получает один из заголовков ответа.
Utf8ToAnsi (<Стр>) – конвертирует строку из кодировки Utf8 в ANSI.
AnsiToUtf8 (<Стр>) – конвертирует строку из кодировки ANSI в Utf8.
Свойства объекта «AddIn. HTTPS77» (чтение+запись):
ВыводитьТранспортныеСообщения – число, 0 – не выводить, 1 - выводить сообщения в процессе получения ответа.
Таймаут– число, ограничение времени ожидания ответа в миллисекундах.
Свойства объекта «AddIn. HTTPS77» (чтение):
СтрокаСостоянияОтвета– содержит возвращенную сервером строку статуса.