Работа с сетью в 1С. Объекты WinHttpRequest и Stream (ADO)

 

Сегодня речь пойдет о работе с сетью в 1С, использовать стандартные методы не будем, о них будет рассказ намного позже, а сегодня все будем делать при помощи встроенных в Windows объектов — WinHttpRequest и Stream (ADO).

Для начала инициализация.

После инициализации объекты готовы к работе.

WinHttpRequest

Сначала рассмотрим объект WinHttpRequest, подробную информацию по свойствам и методам можно почитать тут (на английском).

Перепечатывать справку не буду, хотя отмечу, что несмотря на английский, текст прост для понимания. Я же просто приведу несколько практических примеров.

Получение текста страницы методом GET:

В методе «Open» третий параметр (Ложь) отвечает за асинхронность запроса.

Отправка POST запроса:

Устанавливаем прокси-сервер:

Первый параметр метода «SetProxy» — тип прокси-сервиса;

Третий параметр метода «SetCredentials» — отметка о том, что логин и пароль устанавливаются именно для прокси-сервера.

Устанавливаем все необходимые заголовки (зависит от задачи):

Устанавливаем нужную кодовую страницу:

Опций у данного объекта достаточно, подробнее можно узнать тут (на английском), исчисление начинается с ноля, то есть третий в списке «WinHttpRequestOption_URLCodePage» будет иметь номер 2 (как в примере).

 

Stream (ADO)

Теперь рассмотрим объект Stream (ADO), подробнее о нем можно прочесть тут (на английском).

Побитное чтение файла:

Загрузка файла из сети:

Пример совместного использования объектов WinHttpRequest и Stream (ADO).

Свойство «Mode» устанавливает права на запись файла.

На этом все, надеюсь, что эта статья кому-то помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 16, средняя оценка: 5,00 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 4
  1. Денис

    Отправка POST запроса

    Если WinHttp.Status = 200 Тогда
    {C:\РАЗРАБОТКА\база\EXTFORMS\CFG_ВЫГРУЗИТЬДАННЫЕ.ERT(19)}: WinHttp.WinHttpRequest: Данные, необходимые для завершения этой операции еще не доступны.

    Как дождаться-то при отправке больших данных?

    1. Vitaliy

      WinHttp.Timeout(Param)

      в милисекундах…

  2. Константин

    Чтение все же побАЙТное )

  3. Марат

    Спасибо За статью! Пример совместного использования объектов WinHttpRequest и Stream (ADO). То что искал! :idea:

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: