using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using VOL.DingTalk.Models.Biz; namespace VOL.DingTalk { public class Util { public class HttpUtil { public static async Task SendPostRequest(string url,Dictionary queryData,string bodyData) { using (var client = new HttpClient()) { //var jsonPayload = JsonConvert.SerializeObject(payload); var content = new StringContent(bodyData, Encoding.UTF8, "application/json"); var uriBuilder = new UriBuilder(url); if(queryData != null && queryData.Count > 0) uriBuilder.Query = string.Join("&", queryData.Select(kvp => $"{kvp.Key}={kvp.Value}")); var response = await client.PostAsync(uriBuilder.Uri, content); response.EnsureSuccessStatusCode(); var responseContent = await response.Content.ReadAsStringAsync(); var data = JsonConvert.DeserializeObject(responseContent); return data!; } } } } }