mirror of
https://github.com/vbondarevsky/Connector.git
synced 2024-11-24 08:42:15 +02:00
Update README.md
This commit is contained in:
parent
fffe72029d
commit
b8edd61429
105
README.md
105
README.md
@ -1,2 +1,103 @@
|
||||
# Коннектор
|
||||
Удобный HTTP-клиент для 1С:Предприятие 8
|
||||
# Коннектор: удобный HTTP-клиент для 1С:Предприятие 8
|
||||
|
||||
В мире python очень популярна библиотека для работы с HTTP запросами - Requests (автор: Kenneth Reitz).
|
||||
Библиотека берет на себя всю рутину работы с HTTP запросами.
|
||||
Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.
|
||||
В общем библиотека очень мощная и проста в использовании.
|
||||
|
||||
В данной статье я расскажу о библиотеке Коннектор - “Requests” для мира 1С.
|
||||
|
||||
## Пример мощи библиотеки.
|
||||
Чем же хороша библиотека? Давай уже покажи пример.
|
||||
|
||||
Получим данные JSON с помощью GET-запроса:
|
||||
|
||||
```bsl
|
||||
// 1С
|
||||
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Новый СертификатыУдостоверяющихЦентровОС);
|
||||
Соединение = Новый HTTPСоединение("api.github.com", 443,,,, 30, ЗащищенноеСоединение);
|
||||
Запрос = Новый HTTPЗапрос("/events");
|
||||
Ответ = Соединение.Получить(Запрос);
|
||||
Поток = Ответ.ИсходныйОтвет.ПолучитьТелоКакПоток();
|
||||
Кодировка = "utf-8"; // ну допустим мы знаем что там такая кодировка
|
||||
|
||||
Ридер = Новый ЧтениеJSON;
|
||||
Ридер.ОткрытьПоток(Поток, Кодировка); // Кодировка в заголовке ответа
|
||||
Объект = ПрочитатьJSON(Ридер);
|
||||
Результат = Ридер.Закрыть();
|
||||
```
|
||||
|
||||
```bsl
|
||||
// Коннектор
|
||||
Результат = КоннекторHTTP.РезультатКакJson(КоннекторHTTP.Get(“https://api.github.com/events));
|
||||
```
|
||||
|
||||
Все! В ``Результат`` будут данные в структуре.
|
||||
При этом библиотека сама разбила URL на составляющие, установила защищенное соединение, порт. Определила кодировку ответа из заголовков и десериализовала JSON. И это достаточно простой пример. Всю мощь библиотеки рассмотрим далее от простого к сложному.
|
||||
|
||||
## Возможности
|
||||
TODO
|
||||
TODO
|
||||
TODO
|
||||
TODO
|
||||
TODO
|
||||
Создаем запрос
|
||||
```bsl
|
||||
r = requests.get('http://httpbin.org/put')
|
||||
r = requests.put('http://httpbin.org/put', data = {'key':'value'})
|
||||
r = requests.delete('http://httpbin.org/delete')
|
||||
r = requests.head('http://httpbin.org/get')
|
||||
r = requests.options('http://httpbin.org/get')
|
||||
```
|
||||
Для ``GET``, ``OPTIONS``, ``HEAD``, ``POST``, ``PUT``, ``PATCH``, ``DELETE`` есть соответствующие методы.
|
||||
Или любой другой из HTTP-методов через вызов ``КоннекторHTTP.ВызватьМетод``
|
||||
|
||||
## Передача параметров в строку запроса (в URL)
|
||||
```bsl
|
||||
ПараметрыЗапроса = Новый Структура;
|
||||
ПараметрыЗапроса.Вставить(“name”, СтрРазделить("Вася,Федор", ","));
|
||||
ПараметрыЗапроса.Вставить("salary", 100000);
|
||||
|
||||
Ответ = КоннекторHTTP.Get("https://httpbin.org/anything/params", ПараметрыЗапроса);
|
||||
Если Ответ.КодСостояния = 200 Тогда
|
||||
Результат = КоннекторHTTP.КакJson(Ответ);
|
||||
КонецЕсли;
|
||||
```
|
||||
|
||||
``Ответ.URL`` - итоговый URL
|
||||
https://httpbin.org/anything/params?name=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2&name=%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2&salary=100%C2%A0000
|
||||
|
||||
Коннектор подставил параметры в ``URL``
|
||||
Закодировал строку используя ``URLEncoding``
|
||||
Массив значений перевел последовательность ключ=значение
|
||||
|
||||
## Обработка ответа
|
||||
## Текст
|
||||
## JSON
|
||||
## Двоичные данные
|
||||
|
||||
## Произвольные заголовки
|
||||
## Form-encoded POST
|
||||
## POST a Multipart-Encoded File
|
||||
https://wonderland.v8.1c.ru/blog/novye-instrumenty-dlya-raboty-s-dvoichnymi-dannymi-obespechivayut-kak-posledovatelnyy-dostup-k-danny/
|
||||
## Response Headers
|
||||
## Cookies
|
||||
## Redirection and History
|
||||
TODO: например, переадресация http -> https в yandex.ru.
|
||||
## Можно показать пример поискового запроса
|
||||
## Timeouts
|
||||
## Errors and Exceptions
|
||||
## Продвинутые возможности
|
||||
## Session Objects
|
||||
TODO: можно пример получения списка обновлений с сайта 1С с авторизацией
|
||||
https://infostart.ru/public/255881/
|
||||
## SSL Cert Verification
|
||||
## Client Side Certificates
|
||||
|
||||
## POST Multiple Multipart-Encoded Files
|
||||
|
||||
## Custom Authentication
|
||||
## Proxies
|
||||
## Encodings
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user