Adr*_*ian 7 c# json microsoft-metro
我正在为Visual Studio 2011编程,所以我被迫使用HttpClient.我需要从网上检索一些JSON数据,但我想我需要将内容设置为"json数据"或者其他东西,因为我只使用这段代码时总会得到奇怪的字符:
HttpClient client = new HttpClient();
var response = client.Get("http://api.stackoverflow.com/1.1/users");
var content = response.Content.ReadAsString();
Run Code Online (Sandbox Code Playgroud)
那么如何设置内容或我该怎么做才能获得正确的数据?
编辑:
输出:类似这样:
svi*_*ick 29
问题是响应是压缩的,HttpClient默认情况下不会自动解压缩.
使用WebClient,您可以创建派生类并设置AutomaticDecompression基础类HttpWebRequest.
你不能这样做HttpClient,因为它没有任何合适的virtual方法.但你可以通过传递HttpClientHandler给它的构造函数来做到这一点:
var client =
new HttpClient(
new HttpClientHandler
{
AutomaticDecompression = DecompressionMethods.GZip
| DecompressionMethods.Deflate
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7905 次 |
| 最近记录: |