Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Stivo182 authored Jun 13, 2024
1 parent fff3a0f commit 1539c33
Showing 1 changed file with 104 additions and 24 deletions.
128 changes: 104 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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")
.ОтветКакТекст();
```

Expand All @@ -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]
> Можно передавать параметр с типами: `Строка`, `ДвоичныеДанные`, `Файл`.
> <br>Тип `Строка` должен содержать путь к файлу на диске или адрес двоичных данных во временном хранилище.
___

### 2. POST Запросы
### 3. POST (HTTP)

#### Отправка запроса без обработки результата

Expand All @@ -124,8 +140,8 @@ CURL.Post("https://example.com/v1/api", ТелоЗапроса);
```

> [!NOTE]
> В качестве тела запроса можно передавать параметр с типами: `Строка`, `Структура`, `Соответствие`, `ДвоичныеДанные`, `Файл`
> <br> и `Строка` хранящий адрес двоичных данных во временном хранилище
> В качестве тела запроса можно передавать параметр с типами: `Строка`, `Структура`, `Соответствие`, `ДвоичныеДанные`, `Файл`.
> <br>Тип `Строка` может также содержать путь к файлу на диске или адрес двоичных данных во временном хранилище.
#### Обработка результата как текст

Expand Down Expand Up @@ -161,7 +177,37 @@ Json = CURL

___

### 3. Работа с HTTP заголовками
### 4. PUT (HTTP)

Выполнение `PUT` запроса выполняется следующим образом:
```bsl
CURL.Put("https://example.com/put", Данные);
```

> [!NOTE]
> В качестве данных запроса можно передавать параметр с типами: `Строка`, `Структура`, `Соответствие`, `ДвоичныеДанные`, `Файл`.
> <br>Тип `Строка` может также содержать путь к файлу на диске или адрес двоичных данных во временном хранилище.
Также можно использовать метод `UploadFile`
```bsl
CURL.UploadFile("https://example.com/new.html", Файл);
```

___

### 5. Код состояния ответа

Для протоколов `HTTP` и `FTP` реализована возможность получения кода состояния ответа:

```bsl
КодСостояния = CURL
.Get("https://example.com/")
.КодСостояния();
```

___

### 6. Работа с HTTP заголовками

#### Установка заголовков запроса

Expand Down Expand Up @@ -209,7 +255,7 @@ CURL.Get("https://example.com/");
```
___

### 4. Аутентификация
### 7. Аутентификация

Базовая аутентификация:
```bsl
Expand All @@ -222,7 +268,7 @@ CURL.АутентификацияНаСервереDigest("user", "password")
```
___

### 5. Прокси
### 8. Прокси

Установка прокси:
```bsl
Expand All @@ -233,7 +279,7 @@ CURL.УстановитьПрокси(ИнтернетПрокси)
```
___

### 6. Работа с cookie
### 9. Работа с cookie

При выполнении запроса и получения от сервера новых куки через заголовок ответа `Set-Cookie`, новые куки добавляются к текущим.

Expand Down Expand Up @@ -267,7 +313,7 @@ CURL.ОбновитьКуки()

___

### 7. Перенаправление запроса на новый адрес
### 10. Перенаправление запроса на новый адрес

По умолчанию перенаправление на новый адрес отключено, если сервер вернул ответ с кодом состояния 3XX. Для включения перенаправления необходимо вызвать метод `ПеренаправлятьЗапрос`.

Expand All @@ -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)

0 comments on commit 1539c33

Please sign in to comment.