Вообще, задача написания HTTP-запроса - простая, и многие делали это примерно так:
Сайт = Новый HTTPСоединение("127.0.0.1" ,);
HTTPЗапрос = Новый HTTPЗапрос("/DB/hs/ABCForWebSite/GetABCGroupsFromWebSite/A");
Ответ = Сайт.Получить(HTTPЗапрос);
Недостаток данного метода в том, что это может быть не http, а https-соединение, сайт может просить сертификаты и (или) токен.
В результате, приходится открывать справку и смотреть параметры всех этих методов. Но потом все забываешь, пишешь по-старому, а потом когда встретилась необычная задача снова читаешь справку или ищешь свой старый код.
Я отладил код универсального запроса, который можно скопировать отсюда, и менять там только параметры - те, которые потребуются по условию задачи. Код делает запрос к локальному (но можно и в сети Интернет) сайту вида:
https://db.apelsin.ru/ApelsinRu_UT_ForSite/hs/ABCForWebSite/GetABCGroupsFromWebSite/A/
Используются сертификаты и пустой токен. Ответ возвращает в Структуре 3-хмерный массив с произвольным числом элементов, который я помещаю в Таблицу значений с произвольным числом элементов и 3-я колонками:
Пример json-файла ответа и кода 1С для разбора файла-ответа от сайта:
{
"МассивСоответсвийГруппИКодовНоменклатуры": [
[
"030043226",
"Master Flash",
"Master Flash"
],
[
"030043227",
"Master Flash",
"Master Flash"
],
[
"030043228",
"Master Flash",
"Master Flash"
],
[
"030043232",
"Master Flash",
"Master Flash"
],
[
"030043233",
"Master Flash",
"Master Flash"
],
[
"030043234",
Токен = "";
АдресСкрипта = "/ApelsinRu_UT_ForSite/hs/ABCForWebSite/GetABCGroupsFromWebSite/A";
HTTPСоединение = "db.apelsin.ru";
ЗаголовокЗапросаHTTP = Новый Соответствие();
ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json");
ЗаголовокЗапросаHTTP.Вставить("Authorization", "Bearer " + Токен);
SSLL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows());
HTTPСоединение = Новый HTTPСоединение(HTTPСоединение, 443, , , , , SSLL,);
HTTPЗапрос = Новый HTTPЗапрос(АдресСкрипта, ЗаголовокЗапросаHTTP);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
Структура = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Для Каждого Элемент из Структура Цикл
//Сообщить(Элемент.Ключ + ": " + Элемент.Значение);
КонецЦикла;
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Код");
ТЗ.Колонки.Добавить("Родитель");
ТЗ.Колонки.Добавить("Наименование");
Для Каждого ЭлементМассива Из Элемент.Значение Цикл
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Код = ЭлементМассива[0];
НоваяСтрока.Родитель = ЭлементМассива[1];
НоваяСтрока.Наименование = ЭлементМассива[2];
КонецЦикла;