Свойства и методы объекта V7HttpReader
World Wide Web (всемирная паутина, WWW, W3) состоит из Web-серверов и их клиентов. Каждый сервер несет ответственность за некую совокупность документов (ресурсов). Каждый ресурс во всемирной паутине имеет уникальный идентификатор ресурса (Uniform Resource Identifier, URI), однозначно адресующий указанный ресурс. Обмен информацией между клиентами и серверами происходит с помощью протокола HTTP (HyperText Transfer Protocol). Типичными примерами клиентов являются интернет-браузеры (Internet Explorer, Netscape Navigator). Рассматриваемая в этом разделе компонента также является клиентом, однако, в отличие от интернет-броузеров, не имеет средств отображения полученной от сервера информации.
Типичный цикл обмена между клиентом и сервером состоит из посылки клиентом запроса, обработки его сервером и получения клиентом ответа на запрос. Как запрос, так и ответ схожи по структуре и состоят из заголовков и содержательной части. Первый заголовок ответа, строго говоря, таковым не является, а представляет собой строку состояния ответа, т.е. результат обработки запроса в краткой форме - использованный протокол обмена, код результата, краткое вербальное описание результата. Содержательная часть содержит собственно данные обмена и используется ресурсом сервера или клиентом по собственному усмотрению, например, интернет-броузеры отображают именно содержательную часть ответа сервера.
В заключение данного раздела следует отметить, что данный документ не является учебным или справочным пособием по протоколу HTTP, он только знакомит пользователя с основными понятиями, с которыми придется столкнуться при изучении методов и свойств компоненты V7HTTPReader.
Объект компоненты предназначен для расширения функциональности 1С:Предприятия в части работы с ресурсами серверов, поддерживающих обмен данными по протоколу HTTP. Объект компоненты позволяет определить параметры, которые будут использоваться для доступа к ресурсам, т.е. имя и пароль пользователя для доступа к ресурсам, требующим авторизации. При формировании запроса имеется возможность задать состав и содержание заголовков запроса. Передаваемый запрос может содержать присоединенные данные, извлекаемые при посылке запроса из файла, строки или объекта OLE-Automation, имплементирующего интерфейс IStream. После того, как получен ответ на запрос от сервера, объект компоненты позволяет разобрать заголовки ответа и сохраняет полученные данные в виде файла, переменной типа строка или объект OLE-Automation, имплементирующий интерфейс IStream.
Для работы компоненты необходимо, чтобы в системе была установлена динамически загружаемая библиотека доступа к Internet - WinInet.dll.
Для осуществления доступа методам и свойствам объекта V7HttpReader необходимо вызвать функцию СоздатьОбъект, передав ей строку "AddIn.V7HttpReader" в качестве параметра, и получить ссылку на объект, которая присваивается переменной, через которую и будет осуществляться доступ.
Например:
Соединение = СоздатьОбъект("AddIn.V7HttpReader");
Синтаксис:
КоличествоПопытокАвторизации
Англоязычный синоним:
AuthAttemptsNum
Описание:
При помощи атрибута можно задавать значение числа попыток авторизации. Если данный атрибут установлен в ноль, вывод диалога задания параметров соединения запрещен, т.е. все параметры соединения должны быть установлены методами Ошибка! Источник ссылки не найден. и Пользователь.
Пример:
Соединение.КоличествоПопытокАвторизации = 0;
Синтаксис:
СтрокаСостоянияОтвета
Англоязычный синоним:
ResponseStatusLine
Описание:
По окончании обмена с сервером данное свойство содержит возвращенную сервером строку статуса, которая состоит их 3-х частей : использовавшийся при обмене протокол, код статуса, вербальное описание кода статуса.
Примеры строки состояния ответа:
HTTP/1.1 200 OK
HTTP/1.1 404 Object Not Found
Пример:
см. пример из описания метода Получить.
Устанавливает имя и пароль пользователя.
Синтаксис:
Пользователь(Имя,Пароль)
Англоязычный синоним:
User
Параметры:
Имя - Имя пользователя, которое будет использоваться для доступа к Web-серверу
Пароль - Пароль пользователя, который будет использоваться для доступа к Web-серверу
Возвращаемое значение:
Нет
Описание:
Применение этого метода позволяет подключаться к защищенным паролем Web-серверам автоматически, без ввода пароля вручную.
Пример:
// Установка пароля
Соединение.Пользователь("Guest", "Password");
Помещает содержимое указанного ресурса в файл или указанную переменную, в зависимости от указанного типа приемника.
Синтаксис:
Получить(URL, Приемник, ТипПриемника)
Англоязычный синоним:
Receive
Параметры:
URL Строковая переменная, Uniform Resource Locator, адрес ресурса в Internet
Приемник Переменная, в которую следует поместить содержимое Internet-ресурса ТипПриемника Числовое выражение, определяет способ сохранения содержимого Internet-ресурса. Допустимые значения приведены в таблице:
ТипПриемника |
Способ сохранения |
1 |
Переменная Приемник должна иметь тип строки, ее содержимое интерпретируется как путь к файлу, в который следует записать содержимое ответа сервера |
2 |
Ответ сервера запоминается в переменной Приемник в виде строки |
3 |
Переменная Приемник должна иметь тип объекта OLE-Automation, имплементирующего интерфейс IStream. Cодержимое ответа будет передано этому интерфейсу, способ обработки этих данных будет зависеть от реализации OLE-объекта. |
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан или указан, как http://. В обоих случаях будет использован протокол передачи гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен требуемый ресурс, а путь указывает на расположение ресурса на сервере. Если в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
Попытка
HTTPСоединение.Получить (
"http://www.ResourceServer.ru/res/price.xml",
"c:\dnld\price.xml", 1);
Исключение
Сообщить(HTTPСоединение.СтрокаСостоянияОтвета) ;
. . . . . .
КонецПопытки ;
Помещает содержимое указанного ресурса в файл.
Примечание. Данный метод является частным случаем метода Получить, если при его вызове 3-й параметр равен 1. В новых разработках рекомендуется применять метод Получить, данный метод сохранен для совместимости с конфигурациями и внешними отчетами, разработанными для более ранней версии компоненты.
Синтаксис:
ПолучитьКакФайл(URL, ИмяФайла)
Англоязычный синоним:
ReceiveAsFile
Параметры:
URL - Строковая переменная, Uniform Resource Locator, адрес ресурса в Internet
ИмяФайла Строковое выражение, имя файла, в который следует поместить содержимое
Internet-ресурса
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан или указан, как http://. В обоих случаях будет использован протокол передачи гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен требуемый ресурс, а путь указывает на расположение ресурса на сервере. Если в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
Попытка
HTTPСоединение.ПолучитьКакФайл(
"http://www.ResourceServer.ru/res/price.xml",
"c:\dnld\price.xml");
Исключение
Сообщить(HTTPСоединение.
СтрокаСостоянияОтвета) ;
. . . . . .
КонецПопытки ;
Помещает содержимое указанного ресурса в строковую переменную.
Примечание. Данный метод является частным случаем метода Получить, если при его вызове 3-й параметр равен 2. В новых разработках рекомендуется применять метод Получить, данный метод сохранен для совместимости с конфигурациями и внешними отчетами, разработанными для более ранней версии компоненты.
Синтаксис:
ПолучитьКакСтроку(URL, СтрокаДляПриема)
Англоязычный синоним:
ReceiveAsString
Параметры:
URL - Строковая переменная, Uniform Resource Locator, адрес ресурса в Internet
СтрокаДляПриема Строковая переменная, в которую следует поместить содержимое Internet-ресурса
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан или указан, как http://. В обоих случаях будет использован протокол передачи гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен требуемый ресурс, а путь указывает на расположение ресурса на сервере.
Если в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
1С_ПрайсЛист = "";
Адрес = "http://www.ResourceServer.ru/resources/price.txt";
Соединение.ПолучитьКакСтроку(Адрес, ПрайсЛист);
Помещает содержимое указанного ресурса в файл.
Примечание. Данный метод является частным случаем метода Получить, если при его вызове 3-й параметр равен 3. В новых разработках рекомендуется применять метод Получить, данный метод сохранен для совместимости с конфигурациями и внешними отчетами, разработанными для более ранней версии компоненты.
Синтаксис:
ПолучитьКакОбъект(URL, Объект)
Англоязычный синоним:
ReceiveAsObject
Параметры:
URL - Строковая переменная, Uniform Resource Locator, адрес ресурса в Internet
Объект Объект, который следует загрузить из содержимого Internet-ресурса
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан или указан, как http://. В обоих случаях будет использован протокол передачи гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен требуемый ресурс, а путь указывает на расположение ресурса на сервере.
Объектом может быть любой OLE-объект, имплементирующий интерфейс IStream.
Если в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
HTTPСоединение.ПолучитьКакОбъект("http://www.ResourceServer.ru/res/price.xml",XMLДокумент);
Данный метод предназначен для организации двунаправленного обмена информацией с сервером. Его имеет смысл применять, когда адресуемый ресурс содержит код, способный обрабатывать переданные вместе с запросом данные и формировать данные, присоединяемые к ответу.
Синтаксис:
ОтправитьДляОбработки(URL, Источник, ТипИсточника [, Приемник, ТипПриемника])
Англоязычный синоним:
SendAndProcess
Параметры:
URL -Строковая переменная, Uniform Resource Locator, адрес ресурса в Internet
Источник Переменная, содержимое которой следует передать для обработки Internet-ресурсу
ТипИсточника Числовое выражение, определяет тип переменной Источник и, соответственно, способ передачи ее содержимого Internet-ресурсу.
Допустимые значения приведены в таблице:
ТипИсточника |
Способ передачи |
1 |
Переменная Источник должна иметь тип строки, ее содержимое интерпретируется как путь к файлу, содержимое которого следует присоединить к запросу
|
2 |
Переменная Источник должна иметь тип строки, к запросу будет присоединено ее содержимое |
3 |
Переменная Источник должна иметь тип объекта OLE-Automation, имплементирующего интерфейс IStream. К запросу будут присоединены данные, полученные через этот интерфейс. |
Приемник Переменная, в которую следует поместить содержимое Internet-ресурса
ТипПриемника Числовое выражение, определяет способ сохранения содержимого Internet-ресурса. Допустимые значения приведены в таблице:
ТипПриемника |
Способ сохранения |
1 |
Переменная Приемник должна иметь тип строки, ее содержимое интерпретируется как путь к файлу, в который следует записать содержимое ответа сервера |
2 |
Ответ сервера запоминается в переменной Приемник в виде строки |
3 |
Переменная Приемник должна иметь тип объекта OLE-Automation, имплементирующего интерфейс IStream. Cодержимое ответа будет передано этому интерфейсу, способ обработки этих данных будет зависеть от реализации OLE-объекта. |
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан или указан, как http://. В обоих случаях будет использован протокол передачи гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен требуемый ресурс, а путь указывает на расположение ресурса на сервере.
Если в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
HTTPСоединение.ОтправитьДляОбработки(
"http://www.ResourceServer.ru/res/Active_page.asp",
XMLДокументОтпр, 3, XMLДокументПолуч, 3);
Метод удаляет из запроса все ранее определенные заголовки.
Синтаксис:
УдалитьЗаголовкиЗапроса()
Англоязычный синоним:
removeRequestHeaders
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Объект компоненты сохраняет состав и содержимое заголовков запроса между обращениями к ресурсам, поэтому до начала формирования запроса, требующего иного состава или содержания заголовков, чем предыдущий, требуется вызвать данный метод.
Пример:
//
HTTPСоединение.УдалитьЗаголовкиЗапроса();
Устанавливает значение заголовка запроса.
Синтаксис:
УстановитьЗаголовокЗапроса(ИмяЗаголовка, Содержимое)
Англоязычный синоним:
setRequestHeader
Параметры:
ИмяЗаголовка Строковое выражение, наименование устанавливаемого заголовка
Содержимое Строковое выражение, устанавливаемое значение заголовка
Возвращаемое значение:
Нет
Описание:
Если заголовок с таким именем уже существовал, изменяет его содержимое, если такого заголовка не было, новый заголовок
будет добавлен.
Пример:
//
HTTPСоединение.УстановитьЗаголовокЗапроса("MyAction","Upload");
Возвращает наименование заголовка ответа по номеру.
Синтаксис:
ПолучитьЗаголовокОтвета(НомерЗаголовка)
Англоязычный синоним:
getResponseHeader
Параметры:
НомерЗаголовка Число, порядковый номер заголовка в ответе сервера. Нумерация начинается с 1.
Возвращаемое значение:
Строка, наименование заголовка ответа.
Пример:
//
Заголовок = HTTPСоединение.ПолучитьЗаголовокОтвета(1) ;
Возвращает содержание заголовка.
Синтаксис:
ПолучитьСодержаниеЗаголовкаОтвета(Заголовок)
Англоязычный синоним:
getResponseContents
Параметры:
//
Для Сч = 1 По HTTPСоединение.КоличествоЗаголовковОтвета() Цикл
Заголовок = HTTPСоединение.ПолучитьЗаголовокОтвета(Сч);
Содержимое = HTTPСоединение.ПолучитьСодержимоеЗаголовкаОтвета(Заголовок);
Сообщить(Заголовок + " = " + Содержимое;
КонецЦикла;
Объект компоненты V7SysInfo предназначена для получения информации о системе, на которой работает 1С:Предприятие. Объект позволяет определить версию операционной системы, тип процессора, объем оперативной памяти компьютера и номер релиза 1С:Предприятия. Для осуществления доступа к атрибутам объекта V7Mail необходимо вызвать функцию СоздатьОбъект, передав ей строку "AddIn.V7SysInfo" в качестве параметра, и получить ссылку на объект, которая присваивается переменной, через которую и будет осуществляться доступ к методам и свойствам полученного объекта.
Например:
Инфо = СоздатьОбъект("AddIn.V7SysInfo ");
Синтаксис:
ВерсияОС
Англоязычный синоним:
OSVersion
Описание:
Атрибут ВерсияОС содержит наименование версии операционной системы (строковое выражение).
Синтаксис:
Процессор
Англоязычный синоним:
Processor
Описание:
Атрибут Процессор (строковое выражение) содержит наименование тип процессора, установленного на компьютере.
Синтаксис:
ОперативнаяПамять
Англоязычный синоним:
Memory
Описание:
Атрибут ОперативнаяПамять (число) содержит информацию об объеме оперативной памяти, установленный на компьютере, в мегабайтах.
Синтаксис:
РелизПрограммы
Англоязычный синоним:
ProgrammRelease
Описание:
Атрибут РелизПрограммы (строковое выражение) содержит информацию о номере релиза 1С:Предприятия.
Синтаксис:
ИмяФайлаПрограммы
Англоязычный синоним:
ProgrammFileName
Описание:
Атрибут ИмяФайлаПрограммы (строковое выражение) содержит информацию об имени файла программы (1С:Предприятия).
Синтаксис:
ПроверитьИмяФайла(<Адрес>)
Англоязычный синоним:
CheckFileName
Параметры:
<Адрес> Строковое значение Адрес ключевого слова
Возвращаемое значение:
Строковое выражение - ключевое слово.
Описание:
Метод ПроверитьИмяФайла предназначен для получения ключевого слова по указанному адресу на диске ИТС.
Пример:
Инфо = СоздатьОбъект("AddIn.V7SysInfo");
ВерсияОперационнойСистемы = Инфо.ВерсияОС;
ТипПроцессора = Инфо.Процессор;
ОперативнаяПамятьКомпьютера = Инфо.ОперативнаяПамять;
НомерРелизаПрограммы = Инфо.РелизПрограммы;
НаименованиеФайлаПрограммы = Инфо.ИмяФайлаПрограммы;
Синтаксис:
СоздатьGUID()
Англоязычный синоним:
CreateGUID
Параметры:
нет
Возвращаемое значение:
Строковое выражение - новый GUID.
Описание:
Метод СоздатьGUID генерирует новый GUID (Globally Unique Identifier).
Пример:
Инфо = СоздатьОбъект("AddIn.V7SysInfo");
ГлобальноУникальныйИдентификатор = Инфо.СоздатьGUID();