using System; using System.Net.Http; using System.Net.Http.Headers; using System.Security.Cryptography; using System.Text; using System.Threading; namespace ConsoleApplication { internal class Program { static string GetTimestamp() { long milliseconds = DateTimeOffset.Now.ToUnixTimeMilliseconds(); return milliseconds.ToString(); } static string GenerateMD5(string input) { using (MD5 md5 = MD5.Create()) { byte[] inputBytes = Encoding.UTF8.GetBytes(input); byte[] hashBytes = md5.ComputeHash(inputBytes); StringBuilder sb = new StringBuilder(); for (int i = 0; i < hashBytes.Length; i++) { sb.Append(hashBytes[i].ToString("x2")); } return sb.ToString(); } } public static void Main(string[] args) { //创建 HttpClient 实例 using (HttpClient client = new HttpClient()) { // 设置请求的基础地址 client.BaseAddress = new Uri("http://IP/jd/services/sendReceiveCollectionBag"); string timeStamp = GetTimestamp(); // 设置请求头 client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("JD-MachineCode", "channel-machine-test-rk-001"); client.DefaultRequestHeaders.Add("JD-Timestamp", timeStamp); client.DefaultRequestHeaders.Add("JD-Signature", GenerateMD5("channel-machine-test-rk-001" + timeStamp + "08F68F890E91838CE6C5D08347F17F58")); object parameters = new object(); var jsonContent = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(parameters), Encoding.UTF8, "application/json"); // 选择请求方式 HttpResponseMessage response; try { // 发送 POST 请求 response = client.PostAsync("/api/endpoint", jsonContent).GetAwaiter().GetResult(); // 处理响应 if (response.IsSuccessStatusCode) { string responseData = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();; Console.WriteLine("Response: " + responseData); } else { Console.WriteLine("Error: " + response.ReasonPhrase); } } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } } Thread.Sleep(-1); } } }