질문:
WCF 서비스 애플리케이션에서 HTTPClient를 사용하여 API에서 GZip으로 인코딩된 JSON 데이터의 압축을 푸는 방법은 무엇입니까?
해결책:
GZip 스트림의 압축을 풀고 JSON 데이터를 읽으려면 다음 단계를 따르세요.
자동 압축 해제 기능을 사용하여 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 사용을 고려하세요.
연결 설정 및 응답 받기:
기존 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!