ホームページ > バックエンド開発 > C++ > WCF で HTTPClient を使用して API から GZip でエンコードされた JSON データを解凍する方法

WCF で HTTPClient を使用して API から GZip でエンコードされた JSON データを解凍する方法

Patricia Arquette
リリース: 2025-01-17 17:52:11
オリジナル
874 人が閲覧しました

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

HTTPClient を使用して API から GZip ストリームを解凍します

質問:

WCF サービス アプリケーションで HTTPClient を使用して API から GZip でエンコードされた JSON データを解凍するにはどうすればよいですか?

解決策:

GZip ストリームを解凍して JSON データを読み取るには、次の手順に従います。

  1. 自動解凍機能を使用して HttpClient をインスタンス化します:

    <code class="language-csharp">HttpClientHandler handler = new HttpClientHandler()
    {
        AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
    };
    using (var client = new HttpClient(handler)) {
        //您的代码
    }</code>
    ログイン後にコピー

    注: .NET Core 2.1 以降を使用している場合は、IHttpClientFactory の使用を検討してください。

  2. 接続を確立し、応答を取得します:

    既存の getData メソッドを次のものに置き換えます:

    <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>
    ログイン後にコピー

これらの手順を完了すると、getData メソッドは解凍された JSON データ (文字列形式) を返します。これをデータベースに保存したり、さらに処理したりできます。

以上がWCF で HTTPClient を使用して API から GZip でエンコードされた JSON データを解凍する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート