Консоль HTTP-запросов для управляемых форм

17.06.26

Интеграция - WEB-интеграция

Когда нет под рукой postman, есть консоль HTTP-запросов. Собрав лучшие идеи, представляю свое видение удобной обработки для выполнения простых http-запросов. Используйте для изучения публичных API или тестирования своих сервисов.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Консоль HTTP-запросов для управляемых форм
.epf 69,92Kb
319 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Это пет проект, часть личного портфолио, поэтому оценка кода, интерфейса в виде конструктивной критики приветствуется. Буду рад идеям и предложениям.

 

Цель: на примере внешней обработки показать свои способности в написании кода и создании удобного интерфейса, добавить ссылку на публикацию в резюме.

Постарался сделать аккуратно, с заботой.

 

Делаю акцент на интуитивно понятный интерфейс, поэтому покажу только скриншоты разделов:

 

Раздел Запрос

 

 

Предназначен для интерактивного формирования и старта выполнения запроса.

  1. Адрес вводится в строке или через конструктор (кнопка с волшебной палочкой).

  2. Настройки или детали – дочерние формы или флаги, в разделе виден их статус.

  3. Параметры вводятся через таблицу или замещаются из адресной строки, активность подтверждается флагом.

  4. Заголовки: есть 4 предустановленных заголовка, новые автоматически формируется при выборе опций, выборе значимого типа тела или вводятся вручную через таблицу, активность подтверждается флагом.

  5. Тело. Значимы 4 варианта: «Текст», «HTML форма», «Мультисоставное» и «Файл».

  6. Тело «Текст» имеет еще 4 варианта: «plain», «HTML», «XML» и «JSON». Последние 3 имеют ссылку для открытия в браузере онлайн-редактора.

  7. Выбор значимого типа тела формирует/обновляет активный заголовок «Content-Type», который определяет формирование данных для тела запроса.

  8. Прокси для двух протоколов: http и https.

  9. Авторизация: доступны «Basic» и «Bearer».

  10. Опция «тело упаковывать» формирует активный заголовок «Content-Encoding: gzip», который позволит упаковать двоичные данные тела в gzip.

  11. Опция «использовать Cookie» при перенаправлениях (если они позволены лимитом) будет обновлять заголовок «Cookie» в соответствии с очередным полученным заголовком ответа «Set-Cookie». Выделил в опцию сознательно, показалось, что при веб-серфинге с выключенной опцией результат выглядит лучше, может быть, что-то не учитываю).

  12. Выполнить запрос -> кнопка «Выполнить»

  13. Выполнить запрос и сохранить в истории -> кнопка с синей стрелкой.

После выполнения запроса открывается раздел Ответ

 

Раздел Ответ

 

 

Предназначен для просмотра результата выполнения запроса:

  1. Доступно 2 режима: текст и просмотр в виде HTML-страницы.

  2. Справа: статистика, список сделанных перенаправлений (если были) и результирующий набор заголовков ответа.

 

Раздел История

 

 

Предназначен для показа истории запросов, добавления комментариев и восстановлению консоли параметрами из ранее выполненного запроса. Содержит стандартные команды по сохранению и импорту из файла.

На скриншоте представлена история изучения сервиса: HTTP-QUEST: интерактивный обучающий курс для работы с HTTP-запросами

 

Раздел Инструменты

 

 

Предназначен для обработки текста ответа или подготовки тела запроса типа «Текст»

  1. Получение текста ответа, при включенном флажке

  2. Преобразование Текста в Объект через дерево значений

  3. Обработка значения Текста или свойства Объекта

  4. Манипуляция с хранилищами и возврат Текста в тело запроса

Например: получили строку JSON, в одном из свойств которого закодирован с помощью Base64 файл, необходимо раскодировать и сохранить в файл на диске

  1. преобразовать Текст в Объект (кнопка вправо)

  2. в Объекте выделить нужное свойство и отправить в Область обработки (кнопка вниз под деревом значений)

  3. кнопка «Base64 в Файл» даст команду раскодировать и сохранить двоичные данные в указанный файл

 

Старался писать лаконично, выделяя контроллер, разделяя логику и представление, держа методы на одном уровне абстракции.

 

 
 Как пример: самый многострочный метод

 

Разработка велась на платформе 8.3.27, в файловой базе. Мобильный и Веб-клиенты не поддерживаются.

Файлы, указанные как результат или как тело (или в его составе), должны быть доступны на сервере.

Минимальная версия платформы 8.3.20, использую менеджер обработки строки XML.

 

// History:
// 20260602 - база
// 20260610 - Новая форма "НовоеЗначениеПараметра"
//          - безопасное имя свойства структуры, при генерации текста из дерева
// Минимальная версия платформы теперь 8.3.23 (СтрПодобнаПоРегулярномуВыражению)

 

Благодарности и источники идей:

HTTP-QUEST: интерактивный обучающий курс для работы с HTTP-запросами, мой первый опыт в 1С с http-запросами. Представление ответа в виде HTML-страницы (раздел Ответ) и необходимость достать из JSON и сохранить на диск/ вложить в JSON и отправить закодированный в base64 файл (раздел Инструменты) нашли отражение в данной консоли.

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 - было очень полезно ознакомиться с приемами работы с http-сообщениями в 1С. Упаковка тела запроса и распаковка тела ответа целиком включена в код обработки.

Открытый пакет интеграций для популярных API: Telegram, VK, Viber, Bitrix24 и многих других – идеальный пример для подражания стилю написания кода, системе наименования и универсальности. В коде консоли можно найти много пересечений.

HTTP-клиент – является прообразом интерфейса для данной консоли, заимствованы состав и формат статистики выполненного запроса.

Консоль HTTP-запросов с генерацией кода – понравилась идея преобразования текста ответа в объект через дерево значений и обратная загрузка в тело запроса – использовано в разделе Инструменты.

БСП – подсмотрел идею поддержки перенаправлений, заимствовал формат представления ошибок.

Вступайте в нашу телеграмм-группу Инфостарт

HTTP Консоль HTTP-запрос

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24711    38    26    

29

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    23414    73    52    

44

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    6676    28    4    

30

WEB-интеграция 1С 8.3 1C:Бухгалтерия Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение для 1С:Управление Автотранспортом (ПРОФ) автоматизирует мониторинг транспорта (пробег, расход, координаты, стоянки) и формирование путевых листов. Включает отчеты, фоновую загрузку данных, работает без активации константы мониторинга. Формы — с открытым кодом, общие модули защищены. Доступна демо-версия. Снижает ручной ввод и повышает точность учета.

23034 руб.

25.05.2021    16168    44    8    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vasvas05 27 07.06.26 16:36 Сейчас в теме
Ждем выгрузку на гит))
2. siamagic 08.06.26 12:09 Сейчас в теме
// ЗАПРОС
	HTTPЗапрос = НовыйЗапрос(Заголовки, ДанныеТела, ПараметрыКонсоли.СпособУстановки);


// СОЕДИНЕНИЕ
		Соединение = НовоеСоединение(СтруктураURI, Прокси, ПараметрыКонсоли.Таймаут);


// ОТВЕТ
			Ответ = Соединение.ВызватьHTTPМетод(Метод, HTTPЗапрос, ПараметрыКонсоли.ИмяФайлаОтвета);


сразу видно человек понимает что пишет )))))
3. bayselonarrend 3199 08.06.26 12:44 Сейчас в теме
(2) А что не так? НовыйЗапрос и НовоеСоединение - это другие функции модуля, я так понимаю. ПараметрыКонсоли в параметрах этой функции есть - структура или типо того
4. SAS1C 39 08.06.26 21:26 Сейчас в теме
(2) С помощью комментариев выделил реперные точки метода, имеют смысл в контексте всего метода
5. milkers 3038 09.06.26 11:44 Сейчас в теме
Большое спасибо автору, очень пригодилось. Была мысль прикрутить к разработке генерацию кода 1с для формирования запроса и для парсинга ответа, для быстрого прототипирования. Потом подумал, может сам автор сделает, неплохая добавка к инструменту.
6. SAS1C 39 09.06.26 12:50 Сейчас в теме
(5) Рад, что пригодилась.
Про кодогенарацию: в планах сделать для Коннектора и для OPI, пока не решил в новом разделе (как сравнение) или просто в отдельном окне. Не совсем понял про парсинг ответа, кажется, это индивидуальная история. Если будут уточнения, то готов еще подумать)
7. SAS1C 39 10.06.26 01:10 Сейчас в теме
Обновил обработку:
- добавил новую форму: "НовоеЗначениеПараметра", облегчит ввод дат и GUID строкой в таблице параметров, теле типа "HTML форма" и дереве значений.
- при создании текста из объекта (раздел Инструменты) обезопасил имя свойства, при нескольких нарушениях, сохраняется последнее значение. Использую СтрПодобнаПоРегулярномуВыражению(), поэтому минимальная версия платформы подросла до 8.3.23
8. Viktor_Ermakov 402 12.06.26 13:09 Сейчас в теме
Автору спасибо за работу.
Похожая консоль давно существует в расширение "Универсальные инструменты" (упр формы) на github, пользуюсь ей, так же там еще куча других инструментов сразу.
9. SAS1C 39 14.06.26 11:52 Сейчас в теме
(8) Благодарю.

Привычка сильная штука. Главное, чтобы инструмент закрывал ваши потребности.

Мне по душе легкие и независимые продукты, в которых код читаем и поддается масштабированию. Пусть мало функций, но они понятны, полезны и удобны.
12. Viktor_Ermakov 402 15.06.26 15:11 Сейчас в теме
(9) Да, инструмент закрывает множество различных потребностей.

Ну удачи Вам в развитии продукта, главное что бы душа лежала.
14. SAS1C 39 19.06.26 11:55 Сейчас в теме
10. papche 675 14.06.26 16:15 Сейчас в теме
Спасибо автору! Приятный инструмент
11. SAS1C 39 14.06.26 18:07 Сейчас в теме
(10) Спасибо за оценку
13. SAS1C 39 17.06.26 19:57 Сейчас в теме
Обновил обработку, версию не менял.

В методе ТелоMultipart(Части, Boundary), между заголовком части и данными части
//ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок + РазделительСтрок); // было
ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок); // стало

При передаче, к файлу в начало добавлялась лишняя пустая строка, для текстовых не очень критично, для бинарников - критично
Для отправки сообщения требуется регистрация/авторизация