1CLenta.ru  

Запросить web-страницу через HTTPСоединение

Программирование системы     18.05.2016 11:12     2070

Во встроенном языке 1С есть объект HTTPСоединение для работы с web.
С помощью объекта HTTPСоединение встроенного языка 1С, можно запрашивать web-страницы. Данный объект поддерживает работу с протоколами: HTTP 1.0, HTTP 1.1, SSL 3.0, TLS 1.0.

Функция ПолучитьHTMLСтраницу()


Функция возвращает текст запрошенной HTML страницы.
Переменные
  • Сервер - адрес сервера без http
  • АдресСтраницы - строка URL страницы без домена
  • Кодировка - строка кодировки отправки и считывания данных(utf-8, windows-1251,...)
  • ЗащищенноеСоединение - булево значение, которое указывает использовать защищённое соединение или нет
  • Таймаут - время ожидания соединения с сервером измеряется в секундах

Функция ПолучитьHTMLСтраницу()

Сервер = "1c.ru";
АдресСтраницы = "map.jsp";
Кодировка = "utf-8";
ЗащищенноеСоединение = Ложь;
Таймаут = 100;
SSL = ?(ЗащищенноеСоединение, Новый ЗащищенноеСоединениеOpenSSL(), Неопределено);

ЗаголовкиHTTP = Новый Соответствие;
ЗаголовкиHTTP.Вставить("Host", Сервер);
ЗаголовкиHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");

Попытка

НТТР = Новый HTTPСоединение(Сервер, , , , , Таймаут, SSL);

//Отправка POST-запроса
ЗапросHTTP = Новый HTTPЗапрос(АдресСтраницы, ЗаголовкиHTTP);
ПараметрыPOST = "&m1=value1&m2=value2&m3=value3";
ЗапросHTTP.УстановитьТелоИзСтроки(ПараметрыPOST);
НТТРОтвет = НТТР.ОтправитьДляОбработки(ЗапросHTTP);

//или

//Отправка GET-запроса
НТТРОтвет = НТТР.Получить(АдресСтраницы,, ЗаголовкиHTTP);

Исключение

Сообщить("Не удалось запросить web страницу " + ОписаниеОшибки());
Возврат "";

КонецПопытки;

Возврат НТТРОтвет.ПолучитьТелоКакСтроку(Кодировка);

КонецФункции

Также, используя COM-технологию можно запросить web-страницу через COM-объект WinHTTP.WinHttpRequest.

Комментарии (0)

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

 
 


Регистрация