我试图从 WCF 服务(WCF 服务到 WCF 服务)连接到一个 api,它返回 GZip 编码的 JSON。我使用 HTTPClient连接到 API,并且能够以字符串的形式返回 JSON 对象。然而,我需要能够将这些返回的数据存储在数据库中,因此我认为最好的方法是返回并将 JSON 对象存储在一个数组或字节中,或者沿着这些方向存储。
具体来说,我遇到的问题是 GZip 编码的解压缩,我已经尝试了很多不同的例子,但仍然不能得到它。
下面的代码是我如何建立我的连接和获得响应,这是从 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 "";
}
}
我一直遵循一些不同的例子,如这些 StackExchange API,MSDN,和一对夫妇在堆栈溢出,但我还没有能够得到这些为我工作。
最好的方法是什么,我走对路了吗?
Thanks guys.