public class RequestHelper
{ /// <summary> /// 发起post请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="url">url</param> /// <param name="postData">post数据</param> /// <returns></returns> public static T PostResponse<T>(string url, object postData) { string json = JsonHelper.ToJson(postData); if (url.StartsWith("https")) System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; HttpContent httpContent = new StringContent(json); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpClient httpClient = new HttpClient();T result = default(T);
HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;
if (response.IsSuccessStatusCode)
{ Task<string> t = response.Content.ReadAsStringAsync(); string s = t.Result; result = JsonHelper.DeSerializeObject<T>(s); } return result; }/// <summary> /// 发起get请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="url">url</param> /// <returns></returns> public static T GetResponse<T>(string url) { if (url.StartsWith("https")) System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; HttpClient httpClient = new HttpClient(); T result = default(T); HttpResponseMessage response = httpClient.GetAsync(url).Result;
if (response.IsSuccessStatusCode)
{ Task<string> t = response.Content.ReadAsStringAsync(); string s = t.Result; result = JsonHelper.DeSerializeObject<T>(s); } return result; } }调用:
List<double[]> logAndLat = new List<double[]>();
logAndLat.Add(new double[] {113.326196, 34.715269 });
logAndLat.Add(new double[] {113.321561, 34.722183});
public static double GetArea(List<double[]> points)
{ string result = RequestHelper.PostResponse<string>("url", points); double.TryParse(result, out double r); return r; }