<< Click to Display Table of Contents >> Объектная модель > Основные механизмы Http – работа с HTTP-клиентом
|
![]() ![]() |
В Directum RX для взаимодействия с внешними системами поддерживается передача данных по протоколу TLS с использованием алгоритмов шифрования ГОСТ. Для настройки обращения к внешним сервисам по этому протоколу используется класс Sungero.Core.Http. C помощью его методов CreateHttpClient() и CreateHttpClientHandler() создаются экземпляры классов, адаптированные для работы с ГОСТ TLS:
•HttpClient – класс для отправки HTTP-запросов и получения HTTP-ответов от ресурса, определяемого URI;
•HttpClientHandler – обработчик сообщений, используемый HttpClient в .NET Core.
Примечание. При работе по протоколу ГОСТ TLS нельзя использовать аутентификацию по клиентскому сертификату.
В Directum RX, развернутой на операционной системе Microsoft Windows, работа по протоколу ГОСТ TLS поддерживается без программной доработки. При этом на сервере необходимо установить средство криптозащиты информации КриптоПро CSP версии 5.0. Для работы на Linux это программное обеспечение устанавливать не требуется.
Методы
Имя |
Описание |
---|---|
CreateHttpClient() |
Создать экземпляр класса HttpClient |
CreateHttpClientHandler() |
Создать экземпляр класса HttpClientHandler |
В программном коде, где идет обращение к внешнему сервису с использованием HttpClient и/или HttpClientHandler вместо создания экземпляров этих классов с помощью оператора new используйте методы класса Http.
Пример
/// <summary>
/// Получить содержимое файла по URL.
/// </summary>
/// <param name="url">URL.</param>
/// <returns>Содержимое URL.</returns>
public byte[] GetFileContent(string url)
{
HttpResponseMessage responseMessage = null;
var sessionId = this.GetSessionId();
using (var httpClient = Sungero.Core.Http.CreateHttpClient())
using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, url))
{
if (sessionId != null)
requestMessage.Headers.Add("X-SessionID", sessionId);
responseMessage = httpClient.SendAsync(requestMessage).Result;
}
}
© Компания Directum, 2025 |