我有一个Web Api,向我发送的响应使用brotli压缩,并且我有一个控制台应用程序,它通过向我的WebApi请求数据来使用HttpClient。我需要解压缩WebApi发送的数据。
对于.Net Core 2.2]
Startup.cs
//Compresiónde respuestas del servidor
services.Configure<BrotliCompressionProviderOptions>(opciones => opciones.Level = CompressionLevel.Optimal ); services.AddResponseCompression(opciones => { opciones.EnableForHttps = true; opciones.Providers.Add<BrotliCompressionProvider>(); });
ConseleApp
using (var client = new HttpClient(handler)){ client.BaseAddress = new Uri(BASE_URL); client.Timeout = new TimeSpan(0, 0, TIMEOUT_SECONDS); HttpRequestHeaders headers = client.DefaultRequestHeaders; headers.Add("X-User", Environment.UserName); headers.Add("Accept-Encoding", "br"); //gzip HttpResponseMessage response = null; response = await client.GetAsync($"{requestUrl}"); if (response.IsSuccessStatusCode) { string strResult = await response.Content.ReadAsStringAsync(); return JsonConvert.DeserializeObject<T>(strResult); } }
strResult不是JSON。 。 。
我有一个Web Api,向我发送的响应使用brotli压缩,并且我有一个控制台应用程序,它通过向我的WebApi请求数据来使用HttpClient。我需要解压缩WebApi发送的数据。对于....
您是否尝试过.Net库之一,例如:
假设您使用的是.NET Core 2.1中包含的HttpClientFactory,那么您可以创建一个委托处理程序,该处理程序将在将完整的有效内容交给您的代码之前对其进行拦截和解压缩。