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 ?

Comment décompresser les données JSON codées en GZip à partir d'une API à l'aide de HTTPClient dans WCF ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-17 17:52:11876parcourir

How to Decompress GZip-Encoded JSON Data from an API Using HTTPClient in WCF?

Utilisez HTTPClient pour décompresser le flux GZip de l'API

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 :

  1. 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.

  2. É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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn