г. Оренбург, пер. Матросский, д.2, 2 этаж

пн-пт 09:00 - 18:00

Отдел качества: +7 (922) 886 95 17

  • Rutube
  • Яндекс Дзен
  • вконтакте

Использование HTTP запросов в 1С

Использование HTTP запросов в 1С

 

В данной статье будет рассмотрено, что из себя представляют HTTP – методы, для чего они были придуманы, как применяются и используются в 1С.

В современном мире сети работают по стеку протоколов TCP/IP, состоящий из 4 уровней. Нас интересуют «Протоколы верхнего уровня», в которые входят DNS, POP3, SSH, FTP, SMTP, HTTP и многие другие.

Остановимся и рассмотрим подробнее интересующий нас HTTP – протокол передачи данных, который используется для получения данных с web – интерфейсов. Данный протокол отвечает за взаимодействие между двумя компьютерами, один из которых выступает клиентом, а другой сервером. Первый отправляет запрос (Request) и получает ответ (Response) от сервера.

Работа протокола HTTP осуществляется за счет 4 методов – GET (получить ресурс), POST(создать ресурс), PUT (обновить ресурс), DELETE (удалить ресурс).

1С – это система автоматизации управления и учета, которая позволяет автоматизировать работу предприятий разных отраслей. Одной из особенностей 1С является возможность использования HTTP – запросов для взаимодействия с web –сервисами и интеграции с другими системами. В данной статье мы рассмотрим основы работы с HTTP-запросами в 1С и их использование в разработке web –приложений.

Одним из преимуществ использования HTTP-запросов в 1С является то, что они позволяют быстро и легко интегрироваться с другими web – сервисами. Это может быть полезно, например, для автоматического обновления цен в вашей базе данных 1С при изменении цен на товары на стороннем сайте.

Однако, следует учитывать, что использование HTTP-запросов может иметь и некоторые недостатки. Во-первых, оно может снизить производительность вашего приложения, так как каждый HTTP-запрос требует времени на обработку и передачу данных. Во-вторых, использование HTTP-запросов также может привести к проблемам с безопасностью, так как они могут быть подвержены атакам типа “человек посередине” (Man-in-the-Middle).

Рассмотрим непосредственный пример работы HTTP запросов в 1С. В случае интеграции с внешним web – интерфейсом. В большинстве случаев для доступа к внешним ресурсам на большинстве сайтов необходимо пройти авторизацию. Существует множество способов авторизации: логин/пароль, с помощью ЭЦП, двухфакторная авторизация. Рассмотрим самый простой способ, используя логин и пароль.

На первом этапе необходимо создать HTTP – соединение, которое предназначено для взаимодействия с внешними системами.

Реализуется данное соединение через объект HTTPСоединение, у данного объекта существуют следующие свойства:

  1. ЗащищенноеСоединение (SecureConnection) – содержит объект защищенного соединения;
  2. ИспользоватьАутентификациюОС (UseOSAuthentication) – Содержит текущее значение использования аутентификации NTLM или Negotiate на сервере;
  3. Пароль (Password) – Пароль пользователя, от имени которого установлено соединение;
  4. Пользователь (User) – Пользователь, от имени которого установлено соединение;
  5. Порт (Port) – Порт сервера, с которым произведено соединение;
  6. Прокси (Proxy) – Прокси, через который установлено соединение;
  7. Сервер (Host) – Сервер, с которым произведено соединение;
  8. Таймаут (Timeout) – Определяет время ожидания осуществляемого соединения и операций, в секундах.

 

Во время разработки, зачастую достаточно передать только свойство – сервер. Остальные параметры либо имеют необязательный характер, либо могут задаваться отдельно.


 

Дальнейшая разработка ведется совместно с документацией интегрируемого ресурса и отталкивается от того, что необходимо сделать. Будем считать, что наша задача – авторизоваться на сайте используя логин/пароль. 

Если мы будем выполнять авторизацию в каком – то web-интерфейсе в реальной жизни, нам необходимо перейти на страницу авторизации, так и в написании HTTP запроса необходимо передать правильно «путь» - URL сайта по которому происходит авторизация с передачей параметров – логин/пароля. На рисунке 3 представлен запрос авторизации на сайте.

Следует понимать, что при написании собственного запроса, Ваш URL будет другой, однако принцип остается такой же. Вместе с запросом на подключение, в языке программирования 1С предусмотрена передача «Заголовков» - набор именованных параметров запроса. Каждый запрос может содержать различное количество таких параметров, говоря простым языком это передача каких-то обязательных или не обязательных параметров с помощью соответствия, в случае с авторизацией это может быть API или token.

После того как мы сформировали запрос, он отправляется на сервер, обрабатывается, результат выполнения запроса возвращается в виде кода ответа. Существует множество кодов ответа, нас интересует код – 200, который означает успешное выполнение запроса, чтобы проверить, какой именно пришел код ответа можно воспользоваться способом, который представлен на рисунке ниже.

 

Далее в режиме отладки проверяем, наш код ответа. Подводя итог, еще раз резюмируем общий сценарий работы с HTTP запросами в 1С:

  1. Установка соединения с сервером;
  2. Подготовка и  отправка запроса на сервер;
  3. Сервер принимает и обрабатывает полученный запрос;
  4. Сервер формирует результат выполнения запроса и отправляет ответ;
  5. Отправитель получает ответ и анализирует код состояния.

 

Использование HTTP-запросов в 1С имеет свои преимущества и недостатки. Если вам нужно быстро интегрироваться с другим web – сервисом, то использование HTTP-запросов может быть хорошим выбором. Однако, если вы разрабатываете высоконагруженное приложение или заботитесь о безопасности данных, то стоит рассмотреть другие способы интеграции.

 

В заключении

Специалисты компании «1С:БИЗНЕС РЕШЕНИЯ» помогут Вам освоить все возможности 1С, проведут бесплатную демонстрации программ и ответят на вопросы!

Узнать подробнее о возможностях программы и заказать бесплатную демонстрацию можно по телефону +7(3532)43-05-17.