Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 20:04

Метод ОтправитьДляОбработки объекта HTTPСоединение

Автор 1cwiki, 16 авг 2015, 23:27

0 Пользователей и 1 гость просматривают эту тему.

1cwiki

Раздел
Общие объекты
Подразделы
Интернет
ИмяОбъекта
Работа с HTTP
ПодвидОбъекта
HTTPСоединение
ТипСтатьи
Методы
HTTPСоединение.ОтправитьДляОбработки (HTTPConnection.Post)
HTTPСоединение (HTTPConnection)
ОтправитьДляОбработки (Post)
Синтаксис:
ОтправитьДляОбработки(<HTTPЗапрос>, <ИмяВыходногоФайла>)
Параметры:
<HTTPЗапрос> (обязательный)
Тип: HTTPЗапрос.
HTTP-запрос.
<ИмяВыходногоФайла> (необязательный)
Тип: Строка.
Имя выходного файла, в который записываются полученные с сервера данные.
Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет.
Возвращаемое значение:
Тип: HTTPОтвет.

Описание:
Отправляет данные на указанный адрес для обработки при помощи HTTP-запроса POST.

Доступность:
Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:

// инициализируем объект для записи 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Запрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);
    Результат  = Соединение.ОтправитьДляОбработки(Запрос);
    Соединение = Неопределено;
    Если Результат.КодСостояния > 299 Тогда
       Сообщить("Код состояния " + Результат.КодСостояния + ". Проверка не выполнена");
    КонецЕсли;
Исключение
    Сообщить(ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
КонецПопытки;




     

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск