1
0
mirror of https://github.com/Bayselonarrend/VKEnterprise.git synced 2024-11-21 05:25:45 +02:00

Привел все в общий вид

This commit is contained in:
Anton 2023-11-30 11:33:37 +03:00 committed by GitHub
parent f4783c8909
commit 260adea2f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -29,21 +29,26 @@
Параметры = Новый Структура;
КонецЕсли;
Заголовки = Новый Соответствие;
Если ТипЗнч(ДопЗаголовки) = Тип("Соответствие") Тогда
Для Каждого Заголовок Из ДопЗаголовки Цикл
Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение);
КонецЦикла;
КонецЕсли;
Заголовки = Новый Соответствие;
Если ТипЗнч(ДопЗаголовки) = Тип("Соответствие") Тогда
Для Каждого Заголовок Из ДопЗаголовки Цикл
Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение);
КонецЦикла;
КонецЕсли;
СтруктураURL = РазбитьURL(URL);
Соединение = Новый HTTPСоединение(СтруктураURL["Сервер"], 443, , , , , Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры), Заголовки);
Ответ = Соединение.Получить(Запрос);
ТелоОтвета = JsonВСтруктуру(Ответ.ПолучитьТелоКакДвоичныеДанные());
Попытка
ТелоОтвета = JsonВСтруктуру(Ответ.ПолучитьТелоКакДвоичныеДанные());
Исключение
ТелоОтвета = Ответ.ПолучитьТелоКакДвоичныеДанные()
КонецПопытки;
Возврат ТелоОтвета;
@ -61,19 +66,19 @@
ИмяФайлаСПараметрами = ПолучитьимяВременногоФайла("out");
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type" , "multipart/form-data; boundary=" + Boundary);
Заголовки.Вставить("Accept-Encoding", "gzip");
Заголовки.Вставить("Accept" , "*/*");
Заголовки.Вставить("Connection" , "keep-alive");
Если ТипЗнч(ДопЗаголовки) = Тип("Соответствие") Тогда
Для Каждого Заголовок Из ДопЗаголовки Цикл
Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение);
КонецЦикла;
КонецЕсли;
Заголовки.Вставить("Content-Type" , "multipart/form-data; boundary=" + Boundary);
Заголовки.Вставить("Accept-Encoding" , "gzip");
Заголовки.Вставить("Accept" , "*/*");
Заголовки.Вставить("Connection" , "keep-alive");
Если ТипЗнч(ДопЗаголовки) = Тип("Соответствие") Тогда
Для Каждого Заголовок Из ДопЗаголовки Цикл
Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение);
КонецЦикла;
КонецЕсли;
Соединение = Новый HTTPСоединение(СтруктураURL["Сервер"],443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
НовыйЗапрос = Новый HTTPЗапрос(СтруктураURL["Адрес"], Заголовки);
ТелоЗапроса = НовыйЗапрос.ПолучитьТелоКакПоток();
@ -94,7 +99,7 @@
Счетчик = 0;
Для Каждого Файл Из Файлы Цикл
Если ТипКонтента = "image/jpeg" Тогда
Если ТипКонтента = "image/jpeg" Тогда
ИмяФайлаОтправки = "photo";
Иначе
ИмяФайлаОтправки = СтрЗаменить(Файл.Ключ, "___", ".");
@ -136,43 +141,43 @@
КонецФункции
Функция PostUrlencoded(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "") Экспорт
Если Не ЗначениеЗаполнено(Параметры) Тогда
Параметры = Новый Структура;
КонецЕсли;
Если Не ЗначениеЗаполнено(Параметры) Тогда
Параметры = Новый Структура;
КонецЕсли;
СтруктураURL = РазбитьURL(URL);
СтруктураURL = РазбитьURL(URL);
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type" , "application/x-www-form-urlencoded");
Заголовки.Вставить("Accept-Encoding", "gzip");
Заголовки.Вставить("Accept" , "*/*");
Заголовки.Вставить("Connection" , "keep-alive");
Если ТипЗнч(ДопЗаголовки) = Тип("Соответствие") Тогда
Для Каждого Заголовок Из ДопЗаголовки Цикл
Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение);
КонецЦикла;
КонецЕсли;
Заголовки.Вставить("Content-Type" , "application/x-www-form-urlencoded");
Заголовки.Вставить("Accept-Encoding" , "gzip");
Заголовки.Вставить("Accept" , "*/*");
Заголовки.Вставить("Connection" , "keep-alive");
Если ТипЗнч(ДопЗаголовки) = Тип("Соответствие") Тогда
Для Каждого Заголовок Из ДопЗаголовки Цикл
Заголовки.Вставить(Заголовок.Ключ, Заголовок.Значение);
КонецЦикла;
КонецЕсли;
Соединение = Новый HTTPСоединение(СтруктураURL["Сервер"],443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
НовыйЗапрос = Новый HTTPЗапрос(СтруктураURL["Адрес"], Заголовки);
Данные = JSONСтрокой(Параметры);
НовыйЗапрос.УстановитьТелоИзСтроки(Данные);
Ответ = Соединение.ВызватьHTTPМетод("POST", НовыйЗапрос);
Если Ответ.Заголовки.Получить("Content-Encoding") <> Неопределено Тогда
Если Ответ.Заголовки.Получить("Content-Encoding") = "gzip" Тогда
Ответ = РаспаковатьОтвет(Ответ);
КонецЕсли;
КонецЕсли;
Возврат ?(ТипЗнч(Ответ) = Тип("ДвоичныеДанные"), JsonВСтруктуру(Ответ), Ответ);
Данные = JSONСтрокой(Параметры);
НовыйЗапрос.УстановитьТелоИзСтроки(Данные);
Ответ = Соединение.ВызватьHTTPМетод("POST", НовыйЗапрос);
Если Ответ.Заголовки.Получить("Content-Encoding") <> Неопределено Тогда
Если Ответ.Заголовки.Получить("Content-Encoding") = "gzip" Тогда
Ответ = РаспаковатьОтвет(Ответ);
КонецЕсли;
КонецЕсли;
Возврат ?(ТипЗнч(Ответ) = Тип("ДвоичныеДанные"), JsonВСтруктуру(Ответ), Ответ);
КонецФункции
#КонецОбласти
@ -209,8 +214,7 @@
СтруктураВозврата.Вставить("Адрес" , Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1));
Возврат СтруктураВозврата;
КонецФункции
Функция JsonВСтруктуру(Знач Текст, Знач Кодировка = "utf-8") Экспорт