HttpClient实现请求
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 }