using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http.Headers; using System.Net.Http; using System.Net; using System.Text; using System.Web; namespace TradeManageNew { public static class UPSTokenHelp { const string client_id = "NeG6fE37MEZAjzzWebCyd1gM78jUa5kt741VJLmiiF0mKx5D"; const string client_secret = "f7jmbk077R94iTzW3gKRBePReNjqR6XtoHxZ5q10cvxmUrxxcG6m0Kdm61oEGhmY"; public static string GetUPSToken() { //var test_uri = "https://wwwcie.ups.com/security/v1/oauth/token"; var zs_uri = "https://onlinetools.ups.com/security/v1/oauth/token"; // 创建HttpClient实例 HttpClient client = new HttpClient(); // 设置Basic Auth验证 string auth = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{client_id}:{client_secret}")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", auth); // 添加自定义Header client.DefaultRequestHeaders.Add("x-merchant-id", client_id); // 添加自定义Body var requestBody = new Dictionary { {"grant_type","client_credentials"} }; var bodyStr = JsonConvert.SerializeObject(requestBody); ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; // 创建 HttpRequestMessage 实例 var request = new HttpRequestMessage(HttpMethod.Post, zs_uri); request.Content = new StringContent("grant_type=client_credentials", System.Text.Encoding.UTF8, "application/x-www-form-urlencoded"); // 发送 POST 请求并返回响应结果 var response = client.SendAsync(request).Result; var result = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); var resObj = JsonConvert.DeserializeObject(result); Console.WriteLine(result); // Console.ReadKey(); return resObj.access_token; } } }