1 /// <summary>
2 /// HttpClient实现Get请求(异步)
3 /// </summary>
4 private static async void DoGet()
5 {
6 var url = "http://localhost:5555/api/Test/Get?id=1";
7 //创建HttpClient(注意传入HttpClientHandler)
8 var handler = new HttpClientHandler {AutomaticDecompression = DecompressionMethods.GZip};
9
10 using (var http = new HttpClient(handler))
11 {
12 //await异步等待回应
13 var response = await http.GetAsync(url);
14 //确保HTTP成功状态值
15 response.EnsureSuccessStatusCode();
16
17 //await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
18 Console.WriteLine(await response.Content.ReadAsStringAsync());
19 }
20 }
21
22 /// <summary>
23 /// HttpClient实现Put请求(异步)
24 /// </summary>
25 private static async void DoPut()
26 {
27 var userId = 6;
28 var url = "http://localhost:5555/api/put/register?userid=" + userId;
29
30 //设置HttpClientHandler的AutomaticDecompression
31 var handler = new HttpClientHandler {AutomaticDecompression = DecompressionMethods.GZip};
32 //创建HttpClient(注意传入HttpClientHandler)
33 using (var http = new HttpClient(handler))
34 {
35 //使用FormUrlEncodedContent做HttpContent
36 var content = new FormUrlEncodedContent(new Dictionary<string, string>
37 {
38 {"UserName", "修改胡景宝"},
39 {"UserEmail", "932329468@qq.com"}
40 });
41
42 //await异步等待回应
43
44 var response = await http.PutAsync(url, content);
45 //确保HTTP成功状态值
46 response.EnsureSuccessStatusCode();
47 //await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
48 Console.WriteLine(await response.Content.ReadAsStringAsync());
49 }
50 }