Отправить POST запрос не ожидая ответ, но получив поток ответа C#
Мне надо отправить POST запрос, при этом сразу же получить поток данного ответа, желательно через HttpRequestMessage, но не обязательно.
Как я понял сейчас он ожидает ответ от сервера
А мне бы хотелось сразу же получить Stream объект ответа
Заранее спасибо
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Используйте опцию HttpCompletionOption.ResponseHeadersRead.
private static readonly HttpClient client = new();
public async Task<Stream> PostAsync(string url)
{
using HttpRequestMessage request = new(HttpMethod.Post, url);
request.Content = ...; // контент для отправки
using HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
return await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
}
Stream responseStream = await PostAsync(url);