diff --git a/README.md b/README.md index 6afb6e8..dc459b5 100644 --- a/README.md +++ b/README.md @@ -46,24 +46,30 @@ ___ ## Примеры использования: -### 1. GET Запросы +### 1. Get методы -#### Отправка запроса без обработки результата +#### Отправка HTTP GET запроса без обработки результата ```bsl CURL.Get("https://example.com/"); ``` -#### Получение результата как текст +#### Скачивание файла + +```bsl +ПутьКФайлу = CURL.GetFile("ftp://ftp.example.com/file.zip"); +``` + +#### Получение текстовых данных Вариант 1: ```bsl -Текст = CURL.GetString("https://example.com"); +Текст = CURL.GetString("https://example.com/"); ``` Вариант 2: ```bsl Текст = CURL - .Get("https://example.com") + .Get("ftp://ftp.example.com/README") .ОтветКакТекст(); ``` @@ -81,30 +87,40 @@ Json = CURL .ОтветКакJson(); ``` -#### Получение результата как двоичные данные +#### Получение двоичных данных -- Вариант 1: +Вариант 1: ```bsl -ДвоичныеДанные = CURL.GetBinaryData("https://example.com/file.zip"); +ДвоичныеДанные = CURL.GetBinaryData("ftp://ftp.example.com/file.zip"); ``` -- Вариант 2: +Вариант 2: ```bsl ДвоичныеДанные = CURL .Get("https://example.com/file.zip") .ОтветКакДвоичныеДанные(); ``` +___ -#### Получение результата как путь к файлу +### 2. Передача файла +Передача файла на FTP сервер: ```bsl -ПутьКФайлу = CURL - .Get("https://example.com/") - .ОтветКакПутьФайлу(); +CURL.UploadFile("ftp://ftp.example.com/new.zip", Файл); ``` + +Передача файла по протоколу HTTP (PUT): +```bsl +CURL.UploadFile("https://example.com/new.html", Файл); +``` + +> [!NOTE] +> Можно передавать параметр с типами: `Строка`, `ДвоичныеДанные`, `Файл`. +>
Тип `Строка` должен содержать путь к файлу на диске или адрес двоичных данных во временном хранилище. + ___ -### 2. POST Запросы +### 3. POST (HTTP) #### Отправка запроса без обработки результата @@ -124,8 +140,8 @@ CURL.Post("https://example.com/v1/api", ТелоЗапроса); ``` > [!NOTE] -> В качестве тела запроса можно передавать параметр с типами: `Строка`, `Структура`, `Соответствие`, `ДвоичныеДанные`, `Файл` ->
и `Строка` хранящий адрес двоичных данных во временном хранилище +> В качестве тела запроса можно передавать параметр с типами: `Строка`, `Структура`, `Соответствие`, `ДвоичныеДанные`, `Файл`. +>
Тип `Строка` может также содержать путь к файлу на диске или адрес двоичных данных во временном хранилище. #### Обработка результата как текст @@ -161,7 +177,37 @@ Json = CURL ___ -### 3. Работа с HTTP заголовками +### 4. PUT (HTTP) + +Выполнение `PUT` запроса выполняется следующим образом: +```bsl +CURL.Put("https://example.com/put", Данные); +``` + +> [!NOTE] +> В качестве данных запроса можно передавать параметр с типами: `Строка`, `Структура`, `Соответствие`, `ДвоичныеДанные`, `Файл`. +>
Тип `Строка` может также содержать путь к файлу на диске или адрес двоичных данных во временном хранилище. + +Также можно использовать метод `UploadFile` +```bsl +CURL.UploadFile("https://example.com/new.html", Файл); +``` + +___ + +### 5. Код состояния ответа + +Для протоколов `HTTP` и `FTP` реализована возможность получения кода состояния ответа: + +```bsl +КодСостояния = CURL + .Get("https://example.com/") + .КодСостояния(); +``` + +___ + +### 6. Работа с HTTP заголовками #### Установка заголовков запроса @@ -209,7 +255,7 @@ CURL.Get("https://example.com/"); ``` ___ -### 4. Аутентификация +### 7. Аутентификация Базовая аутентификация: ```bsl @@ -222,7 +268,7 @@ CURL.АутентификацияНаСервереDigest("user", "password") ``` ___ -### 5. Прокси +### 8. Прокси Установка прокси: ```bsl @@ -233,7 +279,7 @@ CURL.УстановитьПрокси(ИнтернетПрокси) ``` ___ -### 6. Работа с cookie +### 9. Работа с cookie При выполнении запроса и получения от сервера новых куки через заголовок ответа `Set-Cookie`, новые куки добавляются к текущим. @@ -267,7 +313,7 @@ CURL.ОбновитьКуки() ___ -### 7. Перенаправление запроса на новый адрес +### 10. Перенаправление запроса на новый адрес По умолчанию перенаправление на новый адрес отключено, если сервер вернул ответ с кодом состояния 3XX. Для включения перенаправления необходимо вызвать метод `ПеренаправлятьЗапрос`. @@ -291,19 +337,53 @@ CURL.ПеренаправлятьЗапрос(Ложь) ``` ___ -### 8. Эмуляция браузера (Chrome) +### 11. Эмуляция браузера (Chrome) При включении режима эмуляции браузера дополнительно передаются HTTP заголовки и шифры, использование TLS 1.2 и HTTP/2, запрос на получение сжатого ответа. +Включение эмуляции: +```bsl +CURL.ЭмуляцияБраузера(Истина) +``` + +Отключение эмуляции: ```bsl -CURL.ЭмуляцияБраузера() +CURL.ЭмуляцияБраузера(Ложь) ``` ___ -### 9. SSL шифры (ciphers) +### 12. TLS, SSL шифры (ciphers) Использование шифров в соединении: ```bsl CURL.ДобавитьШифры("TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256") ``` Список шифров можно посмотреть по [ссылке](https://curl.se/docs/ssl-ciphers.html) + +___ + +### 13. Использование нереализованных в обработке опций cURL + +Добавление опции: + +```bsl +CURL.ДобавитьОпцию("--limit-rate", "1000"); +``` + +```bsl +CURL.ДобавитьОпцию("--tlsv1.2"); +``` + +Удаление опции: + +```bsl +CURL.УдалитьОпцию("--limit-rate"); +``` + +Очистка всех добавленных опций: + +```bsl +CURL.ОчиститьОпции(); +``` + +Все опции утилиты можно посмотреть по [ссылке](https://curl.se/docs/manpage.html)