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)