19.03.2021 Айдар Фархутдинов 17315
«GET» запросы в 1С

Содержание:

1.      Использование «GET» запросов HTTP

2.      Отработка перенаправления http запроса


Для платформы 1С 8.3 осуществлена достижимость работы HTTP запросов, конкретнее GET и POST запросов. Это весьма удобный аппарат для совершения обмена данными со всевозможными веб-ресурсами, настройки взаимосвязи с ними, а также другими службами и системами.  


1.    Использование «GET» запросов HTTP


Метод «GET» является наиболее популярным HTTP запросом. Чаще всего, указанный запрос GET HTTP используют для получения какого-то ресурса или его содержимого. В пример можно привести файл.


Принцип работы «GET» запроса является довольно простым. После соединения с сервером случается отправление заголовка запроса, и, если запрос одобрен, то отправителю вернётся в ответ «тело» с предметом запрашиваемого ресурса.

 

Для того работы с запросом GET в 1С имеется три основных объекта: HTTPСоединение, HTTPЗапрос и HTTPОтвет. Помимо этого, для формирования HTTPS-соединения применяется объект ЗащищенноеСоединениеOpenSSL, а для связи через прокси-сервер – объект ИнтернетПрокси.


Рассмотрим каждый из объектов для более глубокого понимания сути запросов GET HTTP:


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


2. HTTPЗапрос – даёт возможность сделать описание того, что конкретно мы хотим получить от сервера. В самих свойствах потребуется отметить адрес ресурса, к которому мы обращаемся.


3. HTTPОтвет – это результат исполнения запроса к серверу. По свойствам появляется возможность узнать ответные заголовки и код состояния, как раз здесь методы помогают получить «тело» ответа разным образом.


4. ИнтернетПрокси – предоставляет предписать настройки для прокси-сервера. При помощи метода установить () получаем возможность указания параметров для подключения к прокси-серверу.


5. ЗащищенноеСоединениеOpenSSL – даёт возможность сделать соединение защищённым (OpenSSL). Можно указать сертификат клиента и/или сертификат главного центра.


Метод запроса «GET» используется для запроса составляющего указанного ресурса. При помощи него имеется возможность также запускать различные процессы. В таком случае в «тело» обратного ответного сообщения необходимо добавить информацию о ходе исполнения действия.


Клиент сможет отображать и передавать параметры исполнения запроса в URI целевого ресурса после символа «?»:


GET /path/resource?param1=value1&param2=value2 HTTP/1.1


Следуя стандартам HTTP, запросы типа «GET» считаются идемпотентными, то есть клиенты могут делать один и тот же вызов много раз, имея при этом одинаковый результат.


Помимо обычного метода запроса «GET», различают ещё два подтипа:

· Условный «GET» – содержит заголовки вида If-Modified-Since, If-Match, If-Range и подобные им;

· Частичный «GET» – содержит в запросе Range.


Порядок исполнения запросов, указанных выше, определён отдельно, по стандартам HTTP.


Отличительная особенность запросов GET HTTP – это то, что у него нет «тела» сообщения, то бишь имеются только заголовки. Но данная особенность не значит, что посредствам данного метода не представляется возможным передать серверу определенную информацию. Передача информации осуществляется с помощью специальных «GET» параметров.


Для того чтобы добавить запрос «GET» с параметрами, потребуется в конце URL-адреса напечатать знак «?» и, только после него, начинать задавать их по нижеуказанному закону:

имя_параметра1=значение_параметра1& имя_параметра2=значение_параметра2&…


Разделяет параметры знак «&». Для примера, если понадобилось передать серверу два значения: имя клиента и его возраст, то данную операцию можно сделать следующей строчкой кода:

http://site.ru/page.php?name=dima&age=27


Как только запрос будет выполнен, все данные попадают в так называемую переменную окружения QUERY_STRING, и если понадобилось их получить, то это делается с помощью серверного языка веб-программирования.


Конструкция вида $_GET ["имя параметра"] дозволяет выводить значение данного параметра.


Как результат, при завершении этого кода, в браузере выведется:

Ваше имя: dima

Ваш возраст: 27


Для справки, при переходе по любой ссылке, которая выглядит в HTML в подобном виде:

<a href="link.php?name=dima">Ссылка</a>


…также выполняется запрос к серверу методом запроса «GET».


Пример запроса «GET»

Пример запроса «GET»


На рисунке выше видим, как можно выполнит «GET» запрос: в строку «Сервер запроса» вводим адрес сервера, из которого будем загружать файл, а в строку «Текст запроса» необходимо скопировать часть ссылки, которая идёт после имени сервера. Пример «GET» запроса:


Если ссылка: www.site.ru/something/file.jpg; то адресом сервера будет www.site.ru, а остальная часть ссылки пойдет в текст запроса /something/file.jpg.

 

На скриншоте выше в полях находится адрес сервера и ссылка для скачивания картинки в формате PNG. Чтобы выполнить это, необходимо скачать первичную конфигурацию и выполнить «GET» запрос, кликнув по кнопке «Выполнить запрос» на форме.


В первую очередь создаем объект соединения с HTTP ресурсом. У объекта HTTP могут быть такие свойства, как:


  • Сервер — это строка подключения, в которой написан адрес сервера;
  • Порт – некое число, которое определяет порт сервера, по первичным настройкам, в зависимости от типа подключения, можно написать 80 для незащищенных соединений и 443 для защищенных (SSL);
  • Имя пользователя – обязательно только в случае, когда нужна авторизация на сервере;
  • Пароль – это пароль пользователя на ресурсе;
  • Прокси – необходим, только когда для связи с сервером применяется прокси;
  • ЗащищенноеСоединение – по внутренним настройкам имеет значение «ЛОЖЬ», переключение в «ИСТИНА» показывает, что был использован HTTPS протокол.

Помимо того, у объекта HTTPСоединение присутствуют свои методы, обращение к которым позволяет наиболее полным образом описать последовательность выполнения обработчика:


  • ВызватьHTTPметод – хранит два обязательных параметра HTTPметод и HTTPзапрос, поддерживает возможность записи «тела» ответа в файл;
  • Записать – с помощью PUT запроса отправляет данные на сервер;
  • Изменить – изменяет объект, обрабатывая PATCH запросы;
  • ОтправитьДляОбработки – метод указывающий на использование POST запроса;
  • ПолучитьЗаголовки – очередной метод;
  • Удалить – по факту, это запрос «Delete», удаляет переданный в запросе ресурс с сервера.

Во второй строке запроса «GET» создаётся запрос к избранному сайту, текст обращения включает один «слеш», то есть осуществляет переход на главную страницу. В случае, когда после слеша следует другое выражение, осуществился бы переход на другую страницу.


Задача третьей строки запроса «GET» – выполнить запрос к серверу, а четвёртая выводит результат.  


2.    Отработка перенаправления http запроса


При перенаправлении HTTP необходимо в самой программе получить результат поиска через любую поисковую систему по ключу «Запросы в 1С». Часть кода, которае обеспечивает обращение к GOOGLE представлен ниже.


Код, который обеспечивает обращение к GOOGLE при перенаправлении HTTP

Код, который обеспечивает обращение к GOOGLE при перенаправлении HTTP

Кроме раннее упомянутых конструкций, присутствуют Заголовки и КодСостояния.


КодСостояния – постоянная величина, оговоренная в «Request for Comments». Она имеет такие значения:

1.     Когда всё идёт по плану, то значение находится в диапазоне от 100 до 299;

2.     При варианте перенаправления вернется код в диапазоне от 300 до 399;

3.     Если имеются ошибки, то параметр примет значение от 400 до 499;

4.  Показатель с величиной в области 500-599 подсказывает, что существуют проблемы с сервером.


Каждая страница содержит заголовок, в его тексте можно выделить такие параметры:


Параметры текста заголовка при перенаправлении HTTP

Параметры текста заголовка при перенаправлении HTTP

1.     Схему подключения (то, что идёт до двух слешей «//»);

2.     Адресную строку соединения;

3.     Имя пользователя и пароль;

4.     Порт и хост для подключения.


Таким образом, получая новый адрес, пользователь получает также возможность сохранить страницу на компьютере и открыть её в браузере (процедура ПолучитьСтраницу).


Смысл процедуры «Получить Страницу» представлено на рисунке ниже.


Процедура Получить страницу при перенаправлении HTTP

Процедура Получить страницу при перенаправлении HTTP


По факту, здесь создаётся текстовый документ из тела сайта, запускающий страницу в браузере, который стоит по умолчанию.

Далее файл помещается в корень диска D и называется «test».


Специалист компании «Кодерлайн»

Айдар Фархутдинов

Наши проекты

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные активы
Основные средства
Расчет зарплаты и кадровы...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление заказов поставщикам;
Управление продажами, логистикой и т...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Комплексная автоматизация

- Налоговый учет;...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламентированный учет;
- Управление денежными средствами,...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положения об управлении договорами группы компаний ...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Управление цепочками поставок Оптовая торговля ...

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджетирование», «Управление закупками»
- Подбор и обоснование оптима...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление заказами покупателей...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Анализ запасов/остатков...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка функционала подсистемы...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение