При разработке интеграций в 1С программисты часто сталкиваются с необходимостью проверить, что именно отправляет платформа в сторону внешнего сервиса. Часто бывает так, что локальный отладчик показывает одну структуру данных, а удаленный сервер выдает ошибку. Чтобы понять, «кто виноват», не обязательно арендовать VPS или поднимать локальные веб-сервисы на Go или Python. Существуют готовые облачные решения, которые позволяют перехватывать и анализировать входящий трафик в режиме реального времени.
В этой статье мы подробно разберем, как использовать специализированные веб-сервисы для тестирования HTTPЗапрос и HTTPСоединение, а также проанализируем, какие инструменты лучше подходят для разных задач отладки.
Рассмотрим ситуацию, когда нам нужно просто увидеть «сырой» запрос от 1С: заголовки, тело (Body) и параметры URL. Самым быстрым и эффективным инструментом здесь выступает Webhook.site.
Разберем алгоритм работы с этим сервисом по шагам:
https://webhook.site/unique-id).Проанализируем пример кода на стороне 1С для такого тестирования:
// Определяем адрес, полученный на сервисе
Сервер = "webhook.site";
Ресурс = "/ваш-уникальный-код";
// Создаем соединение. Для облачных сервисов почти всегда нужен HTTPS (порт 443)
НТТРСоединение = Новый HTTPСоединение(Сервер, 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
// Формируем запрос
НТТРЗапрос = Новый HTTPЗапрос(Ресурс);
НТТРЗапрос.Заголовки.Вставить("Content-Type", "application/json");
НТТРЗапрос.Заголовки.Вставить("Authorization", "Bearer my-test-token");
// Тело запроса
СтруктураДанных = Новый Структура("Событие, Номер", "Тест", "001");
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураДанных);
НТТРЗапрос.УстановитьТелоИзСтроки(ЗаписьJSON.Закрыть());
// Отправляем и получаем результат
Ответ = НТТРСоединение.ОтправитьДляОбработки(НТТРЗапрос);
Преимущество этого метода: вы видите в браузере не только тело запроса, но и все технические заголовки, которые 1С добавляет автоматически (например, Host, Connection, User-Agent). Это помогает выявить проблемы с кодировкой или неверными форматами данных.
Иногда задачи сложнее: нам нужно проверить, как 1С поведет себя, если сервер вернет ошибку 500, код 404 или специфический JSON-ответ. Для этого идеально подходит Beeceptor или Mocky.io.
Рассмотрим подробнее возможности таких систем. Они позволяют создать «виртуальный эндпоинт», для которого вы заранее задаете правила игры. Например, вы можете настроить сервис так, чтобы на любой POST-запрос он отвечал кодом 201 (Created) и возвращал JSON с ID созданного объекта.
Выясним причину, почему это важно для разработчика 1С:
Обработка исключений. Вы можете заставить Mock-сервер вернуть некорректный JSON, чтобы проверить, не «упадет» ли ваша процедура ПрочитатьJSON().
Пример настройки логики в подобных сервисах:
/api/v1/users, вернуть статус 200 OK.{"status": "success", "id": 123}.HTTPСоединение.Если вам нужно просто убедиться, что интернет на сервере 1С работает и запросы уходят, можно использовать httpbin.org. Это классический «эхо-сервер».
Разберем основные методы этого сервиса:
/get — возвращает информацию о вашем GET-запросе./post — возвращает всё, что вы прислали в POST./status/:code — позволяет получить любой статус ответа. Если вызвать /status/418, сервер вернет знаменитую ошибку «I'm a teapot».Посмотрим на пример проверки статуса из 1С:
Соединение = Новый HTTPСоединение("httpbin.org", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/status/201");
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
Если Ответ.КодСостояния = 201 Тогда
Сообщить("Сервер успешно имитировал создание ресурса");
КонецЕсли;
Проанализируем ситуацию, когда данные нельзя отправлять во внешний интернет из-за политики безопасности. В этом случае на помощь приходят локальные инструменты, такие как Fiddler или Charles.
Эти программы работают как прокси-сервер. Чтобы 1С начала отправлять запросы через них, необходимо настроить объект HTTPСоединение, указав параметры прокси-сервера (обычно 127.0.0.1 и порт 8888).
Важный момент: При использовании локальных снифферов для HTTPS-трафика вам потребуется установить сертификат разработчика, который генерирует сниффер, в хранилище доверенных сертификатов Windows, иначе 1С выдаст ошибку проверки подлинности сервера.
Выясним, какой инструмент выбрать в зависимости от задачи:
Использование этих сервисов значительно ускоряет разработку, так как позволяет изолировать код 1С от проблем на стороне реального внешнего сервера и тестировать интеграцию в «стерильных» условиях.