1 using Newtonsoft.Json; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Net.Http; 6 using System.Net.Http.Headers; 7 using System.Text; 8 using System.Threading.Tasks; 9 10 namespace Services 11 { 12 public class HttpHelper<T> where T : class, new() 13 { 14 private Uri BaseUri 15 { 16 get 17 { 18 return new Uri(GlobalString.BaseUrl); 19 } 20 } 21 22 private Uri RequestUri(string requestUrl) 23 { 24 25 return new Uri(BaseUri, requestUrl); 26 } 27 28 //用Post还是用Get,要与WebApi的请求方式一致 29 public async Task<T> GetPostResult(string requestUrl, FormUrlEncodedContent content) 30 { 31 using (var client = new HttpClient()) 32 { 33 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(GlobalString.JsonHeader)); 34 using (var response = await client.PostAsync(RequestUri(requestUrl), content)) 35 { 36 if (response.IsSuccessStatusCode) 37 { 38 var productJsonString = await response.Content.ReadAsStringAsync(); 39 return JsonConvert.DeserializeObject<T>(productJsonString); 40 } 41 return new T(); 42 } 43 } 44 } 45 } 46 }
相关文章: