Maison >développement back-end >C++ >Comment décompresser les données JSON codées en GZip à partir d'une API à l'aide de HTTPClient dans WCF ?
Question :
Comment décompresser les données JSON codées en GZip à partir de l'API à l'aide de HTTPClient dans l'application de service WCF ?
Solution :
Pour décompresser le flux GZip et lire les données JSON, suivez ces étapes :
Utilisez la fonction de décompression automatique pour instancier HttpClient :
<code class="language-csharp">HttpClientHandler handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; using (var client = new HttpClient(handler)) { //您的代码 }</code>
Remarque : Si vous utilisez .NET Core 2.1 ou supérieur, envisagez d'utiliser IHttpClientFactory.
Établissez la connexion et obtenez une réponse :
Remplacez la méthode getData existante par ce qui suit :
<code class="language-csharp">public string getData(string foo) { string url = ""; // 请替换为您的API地址 using (var client = new HttpClient(handler)) // 使用支持解压的HttpClient { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.GetAsync(url + foo).Result; string responseJsonContent = response.Content.ReadAsStringAsync().Result; return responseJsonContent; } }</code>
Après avoir terminé ces étapes, la méthode getData renverra les données JSON décompressées (sous forme de chaîne), que vous pourrez stocker dans une base de données ou traiter davantage.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!