HTTPСоединение.ОтправитьДляОбработкиАсинх (HTTPConnection.PostAsync)
HTTPСоединение (HTTPConnection)
ОтправитьДляОбработкиАсинх (PostAsync)
Доступен, начиная с версии 8.3.21.
Синтаксис:
ОтправитьДляОбработкиАсинх(<HTTPЗапрос>, <ИмяВыходногоФайла>)Параметры:
<HTTPЗапрос> (обязательный)
Запрос, передаваемый на сервер.
<ИмяВыходногоФайла> (необязательный)
Имя выходного файла, в который записываются полученные с сервера данные.
Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет.
Возвращаемое значение:
Тип: Обещание.Результат выполнения обещания – объект типа HTTPОтвет.
Описание:
Асинхронно отправляет на HTTP-сервер данные для обработки, используя POST-запрос.
Доступность:
Тонкий клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Примечание:
В веб-клиенте нужно учитывать, что запрос можно отправить только на тот же самый домен, на котором опубликован веб-клиент, или на домен, в котором нет CORS-ограничений на принятие запроса от веб-клиента. В противном случае будет вызвано исключение.Если веб-клиент опубликован по HTTPS, то запрос можно отправить, только используя защищенное соединение. В противном случае будет вызвано исключение.
Пример:
| // инициализируем объект для записи XML ИмяФайлаЗапроса = ПолучитьИмяВременногоФайла(); ОбъектЗапись = Новый ЗаписьXML; ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("windows-1251", , Ложь); ОбъектЗапись.ОткрытьФайл(ИмяФайлаЗапроса, ПараметрыЗаписиXML); ОбъектЗапись.ЗаписатьОбъявлениеXML(); // выводим корневой элемент Request ОбъектЗапись.ЗаписатьНачалоЭлемента("Request"); // выводим элемент ClientInfo ОбъектЗапись.ЗаписатьНачалоЭлемента("ClientInfo"); ОбъектЗапись.ЗаписатьАтрибут("email", АдресОтправителя); ОбъектЗапись.ЗаписатьКонецЭлемента(); Если ИмяФайлаСертификата <> Неопределено Тогда // кодируем в Base64 сертификат ДвДанные.Прочитать(ИмяФайлаСертификата); ФайлСертификатаBase64 = ДвДанные.ПолучитьСтрокуBase64(); // выводим элемент Certificate ОбъектЗапись.ЗаписатьНачалоЭлемента("Certificate"); ОбъектЗапись.ЗаписатьТекст(ФайлСертификатаBase64); ОбъектЗапись.ЗаписатьКонецЭлемента(); КонецЕсли; Если ИмяФайлаЗашифрованногоКонтейнера <> Неопределено Тогда // кодируем в Base64 зашифрованный контейнер ДвДанные.Прочитать(ИмяФайлаЗашифрованногоКонтейнера); ФайлЗашифрованногоКонтейнераBase64 = ДвДанные.ПолучитьСтрокуBase64(); // выводим элемент Data ОбъектЗапись.ЗаписатьНачалоЭлемента("Data"); ОбъектЗапись.ЗаписатьТекст(ФайлЗашифрованногоКонтейнераBase64); ОбъектЗапись.ЗаписатьКонецЭлемента(); КонецЕсли; // записываем конец для корневого элемента ОбъектЗапись.ЗаписатьКонецЭлемента(); ОбъектЗапись.Закрыть(); АдресСервераОнлайнПроверки = "onlinefc.taxcom.ru"; РесурсНаСервере = "/online_fc/online_fc.dll" + ?(ПолучитьСертификат, "?IncludeCertificate", ""); // устанавливаем соединение с сервером Попытка Соединение = Новый HTTPСоединение(АдресСервераОнлайнПроверки, , , , Прокси); Исключение Сообщить("Не удалось установить соединение с сервером онлайн-проверки:" + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); Возврат; КонецПопытки; // посылаем запрос Попытка HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере); HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса); Результат = Соединение.ОтправитьДляОбработки(HTTPЗапрос); Соединение = Неопределено; Если Результат.КодСостояния > 299 Тогда Сообщить("Код состояния " + Результат.КодСостояния + ". Проверка не выполнена"); КонецЕсли; Исключение Сообщить(ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); КонецПопытки; |
Использование в версии:
Доступен, начиная с версии 8.3.21.