0
Deahianaianyrto
14.06.16
✎
13:53
|
УстановитьПривилегированныйРежим(Истина);
Если HTTPПроксиИспользование Тогда
ПроксиСервер = Новый ИнтернетПрокси;
ПроксиСервер.Пользователь = HTTPПроксиИмяПользователя;
ПроксиСервер.Пароль = HTTPПроксиПароль;
ПроксиСервер.Установить("http",HTTPПроксиСервер,HTTPПроксиПорт);
HTTP = Новый HTTPСоединение(APIСервер,,,,ПроксиСервер,Ложь);
Иначе
HTTP = Новый HTTPСоединение(APIСервер);
КонецЕсли;
ФайлЗапроса = ПолучитьИмяВременногоФайла();
ТекстЗапроса = СформироватьСтрокуЗапросаAPIФункции(НомерAPIФункции,ПараметрыЗапроса,ЗапроситьСписок,ВыгрузкаСписка);
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст(ТекстЗапроса);
ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.UTF8);
ФайлОтправки = Новый Файл(ФайлЗапроса);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
ФайлРезультата = ПолучитьИмяВременногоФайла("xml");
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type","application/x-www-form-urlencoded");
ЗаголовокHTTP.Вставить("Accept-Language","ru");
ЗаголовокHTTP.Вставить("Accept-Charset","windows-1251");//,utf8
ЗаголовокHTTP.Вставить("Content-Language","ru");
ЗаголовокHTTP.Вставить("Content-Charset","utf8");
ЗаголовокHTTP.Вставить("CACHE-CONTROL","max-age=0");
ЗаголовокHTTP.Вставить("Content-Length",РазмерФайлаОтправки);
Попытка
HTTP.ОтправитьДляОбработки(ФайлЗапроса, APIРесурс, ФайлРезультата, ЗаголовокHTTP);
Исключение
Сообщить(ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Попытка
УдалитьФайлы(ФайлЗапроса);
Исключение
Сообщить("Ошибка при удалении временного файла " + ФайлЗапроса + Символы.ПС + ИнформацияОбОшибке().Причина, СтатусСообщения.Важное);
КонецПопытки;
Возврат Ложь;
КонецПопытки;
ФайлОтвета = Новый Файл(ФайлРезультата);
Если ФайлОтвета.Существует() Тогда
// Тестирование API-сервиса(9000),Авторизация(9021)_
Если НомерAPIфункции = "9000" ИЛИ НомерAPIфункции = "9021" ИЛИ НомерAPIфункции = "9029" ИЛИ НомерAPIфункции = "9023" Тогда
ТаблицаОтвета = ПрочитатьФайлXML_Авторизация(ФайлРезультата);
// Запрос информации о клиенте (для личного кабинета).
|
|