Soalan:
Bagaimana untuk menyahmampat data JSON yang dikodkan GZip daripada API menggunakan HTTPClient dalam aplikasi perkhidmatan WCF?
Penyelesaian:
Untuk menyahmampat strim GZip dan membaca data JSON, ikut langkah berikut:
Gunakan fungsi penyahmampatan automatik untuk membuat seketika HttpClient:
<code class="language-csharp">HttpClientHandler handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; using (var client = new HttpClient(handler)) { //您的代码 }</code>
Nota: Jika anda menggunakan .NET Core 2.1 atau lebih tinggi, pertimbangkan untuk menggunakan IHttpClientFactory.
Tetapkan sambungan dan dapatkan respons:
Ganti kaedah getData sedia ada dengan yang berikut:
<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>
Selepas melengkapkan langkah ini, kaedah getData akan mengembalikan data JSON yang dinyahmampat (dalam bentuk rentetan), yang boleh anda simpan ke pangkalan data atau proses selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Menyahmampat Data JSON Berkod GZip daripada API Menggunakan HTTPClient dalam WCF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!