mirror of
https://github.com/Bayselonarrend/VKEnterprise.git
synced 2024-11-21 05:25:45 +02:00
Привел все в общий вид
This commit is contained in:
parent
f4783c8909
commit
260adea2f2
@ -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") Экспорт
|
||||
|
Loading…
Reference in New Issue
Block a user