1c8 пример. HTTPСоединение, HTTPЗапрос. Получаем html страницу программно.

Получаем html страницу yandex market программно из 1с.

В примере для получения строки - тела страницы используются штатные объекты 1С: HTTPСоединение, HTTPЗапрос, HTTPОтвет, метод HTTPОтвет.ПолучитьТелоКакСтроку().
Если страница успешно получена ( HTTPОтвет.КодСостояния == 200) можно парсить html страницу. Но это уже за границами примера.

Вcя тонкость - в правильно настроенных заголовках (ЗаголовокGET) объекта HTTPЗапрос. Каждая страница "требует" индивидуальных настроек.
Уandex market требует чтобы были включены и "правильно" настроены значения Cookie и User-Agent. В Cookie он пишет и оттуда берет данные о клиенте.
Если не заполнить значение User-Agent, то 1с его заполнит своим значением ("1С-Enterprice"). И это "не понравится" Уandex market.

Посмотреть все Cookie одной строкой, скопировать и подставить в запрос можно так:
В консоле браузера Сhrome посмотреть значение "document.cookie".
1. Правой кнопкой мыши по странице - "Просмотр кода элемента"
2. Пишем "document.cookie" и нажимаем Enter

1c прикрепить файл word к договору

Более детальный простой способ посмотреть все "что думает о Вас страница" - все Cookie :
В адресной строке браузера Сhrome пишем "chrome://settings/cookies"

1c прикрепить файл word к договору

Так выглядит код в конфигураторе:

1c прикрепить файл word к договору

Код примера:

// Пример. Прикрепить Файл doc к договору

Функция ПолучитьHtml()
	
	стрURL1 = "http://ya.ru";
	стрURL2 = "http://yandex.ru/yandsearch?text=htmlrequest&lr=20728";
	стрURL = "http://market.yandex.ru/guru.xml?hid=&CMD=-RR=9,0,0,0-VIS=8070-CAT_ID=160043-EXC=1-PG=10&greed_mode=true";
	
	// вычислить адрес сервера из адресной сторки
	// пример АдресСервера: "market.yandex.ru" 
	АдресСервера1 = СтрЗаменить(стрURL, "http://" ,"");  
	индексСлеша  = Найти(АдресСервера1, "/");
	АдресСервера = Сред(АдресСервера1, 0 ,индексСлеша - 1);
	
	// вычислить строку URL
	// пример URL: "/guru.xml?hid=&CMD=-RR=9,0,0,0-VIS=8070-CAT_ID=160043-EXC=1-PG=10&greed_mode=true" 
	длинаСтроки = СтрДлина(АдресСервера1);
	URL = "/" + Прав(АдресСервера1, длинаСтроки -  индексСлеша);
	
	// установим правильные заголовки соединения
	// каждая страница требует индивидуального подхода 
	// yandex market например, не будет корректно работать если установлены неверные значения Cookie	
	ЗаголовокGET = Новый Соответствие();
	ЗаголовокGET.Вставить("GET " + URL + " HTTP/1.1");
	ЗаголовокGET.Вставить("Host", АдресСервера);
	ЗаголовокGET.Вставить("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; InfoPath.3; .NET4.0E)");	
    ЗаголовокGET.Вставить("Cookie","ps_gch=123.... ДАЛЕЕ ВАШИ ЗНАЧЕНИЯ Cookie ");

	сообщить("АдресСервера:" + АдресСервера);
	сообщить("URL:" + URL);
	сообщить("Cookie:" + СтрЗаменить(ЗаголовокGET["Cookie"],"; ",Символ(13))); 
	сообщить("Попытка...");
		
	Попытка
		HTTPСоединение = Новый HTTPСоединение(АдресСервера);
		
		HTTPЗапрос = Новый HTTPЗапрос(URL,ЗаголовокGET);
		
		HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
		
		КодСостояния = HTTPОтвет.КодСостояния;
		
		responseText = HTTPОтвет.ПолучитьТелоКакСтроку();
			
		
		сообщить(КодСостояния);
		сообщить(responseText);
			
	Исключение
	    Сообщить("Не удалось установить соединение с сервером :" 
	        + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
	    //Возврат;
	КонецПопытки;
	
КонецФункции




Рекламный блок:

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

Доработка и сопровождение 1С:

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Пишите: j008@j008.ru

Звоните: 8 916 710 83 51 Ольга