На просторах интернета, можно наткнуться на интересные web-сервисы, у которых есть API. Например, Яндекс-спеллер. Чтобы прикрутить этот сервис в 1С, для этого нужно писать обработку и играться с ней. Но это все занимает большое количество времени. Поэтому я решил сделать конструктор HTTP-запросов в 1С, который будет использовать только встроенные средства платформы для отправки HTTP-запросов для нужного API и проанализировать результат.
Основные возможности конструктора:
- Получить результат работы API с помощью
- POST/GET запросов
- XML/POST запросов
- JSON/POST запросов
- Настроить HTTP-запрос средствами 1С
- Выбрать вид кодировки текста
- Кодировать текст запроса (URLEncoding)
- Превратить многострочный текст в однострочный. Например, для удобства чтения, его можно записать в несколько строк, но для запросов нужен однострочный текст
- Добавить заголовки в HTTP-запрос
- Параметры запроса можно добавить с помощью таблицы
- Вывести результат
- Как текст
- Сохранить в файл (избранное расширения) и вывести
- Просто сохранить в файл
- Получить код 1С, для быстрой вставки в отделку
- Обработать результат
- Декодировать текст результата, если он получен в формате UNICODE (U+0046)
- Вывести заголовки HTTP-ответа
Использовать только в 1С 8.3 не ниже версии 8.3.3.721, поскольку все реализовано только средствами платформы.
Приблизительный алгоритм. Для примера текст API - "http://speller.yandex.net/services/spellservice/checkText?text=%20синхрафазатрон+в+дубне".
"http://" отбрасываем. Адрес сервера будет "speller.yandex.net". Адрес ресурса будет "/services/spellservice/checkText?". Все остальное - це параметры. Их можно передать текстом, или же в виде таблицы.
Старался сделать обработку интуитивно-понятной.
Upd. В обработку добавлена управляемая форма.
Upd. В обработку добавлены возможности указать таймаут соединения и признак защищенного соединения.
Обновление 14.03.2016.
[*] Добавлена обработка для поддержки работы в версии 1С 8.3.7. Тестировалось на 8.3.7.1845.
[*] Добавлена в обработку для 8.3.7 возможность форматирования результатов XML и JSON для удобства чтения, например для анализа. Встроенными средствам.