Dekompresowanie strumienia GZip z odpowiedzi HTTPClient

Usiłuję połączyć się z api, która zwraca kodowane GZip JSON, z usługi WCF (usługa WCF do usługi WCF). UżywamHTTPClient połączyć się z interfejsem API i móc zwrócić obiekt JSON jako łańcuch. Muszę jednak być w stanie przechowywać te zwrócone dane w bazie danych i uznałem, że najlepszym sposobem byłoby zwrócenie i zapisanie obiektu JSON w tablicy lub bajcie lub coś podobnego.

W szczególności mam problem z dekompresją kodowania GZip i próbowałem wielu różnych przykładów, ale wciąż nie mogę go uzyskać.

Poniższy kod opisuje, w jaki sposób nawiązuję połączenie i otrzymuję odpowiedź. Jest to kod, który zwraca ciąg znaków z interfejsu API.

    public string getData(string foo)
    {
        string url = "";
        HttpClient client = new HttpClient();
        HttpResponseMessage response;
        string responseJsonContent;
        try
        {
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            response = client.GetAsync(url + foo).Result;
            responseJsonContent = response.Content.ReadAsStringAsync().Result;
            return responseJsonContent;
        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show(ex.Message);
            return "";
        }
    }

Śledziłem kilka takich przykładówStackExchange API, MSDN, i para na stackoverflow, ale nie udało mi się uzyskać żadnej z nich, aby działała dla mnie.

Jaki jest najlepszy sposób, aby to osiągnąć, czy jestem na dobrej drodze?

Dzięki chłopaki.

questionAnswers(2)

yourAnswerToTheQuestion