| | |
| | | public static async Task<string> GetAsync(string url, Dictionary<string, object> parameters) |
| | | { |
| | | // 记录请求参数 |
| | | LogRequestParameters(parameters); |
| | | LogRequestParameters(parameters, url); |
| | | |
| | | // 将参数拼接到URL中 |
| | | string queryString = string.Join("&", parameters.Select(x => $"{x.Key}={x.Value}")); |
| | |
| | | string responseBody = await response.Content.ReadAsStringAsync(); |
| | | |
| | | // 记录响应参数 |
| | | LogResponseParameters(responseBody); |
| | | LogResponseParameters(responseBody, url); |
| | | |
| | | // 返回响应内容 |
| | | return responseBody; |
| | |
| | | public static async Task<string> PostAsync(string url, Dictionary<string, object> parameters) |
| | | { |
| | | // 记录请求参数 |
| | | LogRequestParameters(parameters); |
| | | LogRequestParameters(parameters, url); |
| | | |
| | | // 创建HttpClient实例 |
| | | using (HttpClient client = new HttpClient()) |
| | | { |
| | | // 将参数转换为FormUrlEncodedContent |
| | | var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters)); |
| | | string content = JsonConvert.SerializeObject(parameters); |
| | | |
| | | // 发送POST请求并获取响应 |
| | | HttpResponseMessage response = await client.PostAsync(url, content); |
| | | var request = new HttpRequestMessage(HttpMethod.Post, url); |
| | | |
| | | request.Content = new StringContent(content, Encoding.UTF8, "application/json"); |
| | | //var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters)); |
| | | //// 发送POST请求并获取响应 |
| | | //HttpResponseMessage response = await client.PostAsync(url, content); |
| | | HttpResponseMessage response = await client.SendAsync(request); |
| | | |
| | | // 确保响应成功 |
| | | response.EnsureSuccessStatusCode(); |
| | |
| | | string responseBody = await response.Content.ReadAsStringAsync(); |
| | | |
| | | // 记录响应参数 |
| | | LogResponseParameters(responseBody); |
| | | LogResponseParameters(responseBody, url); |
| | | |
| | | // 返回响应内容 |
| | | return responseBody; |
| | | } |
| | | } |
| | | |
| | | private static void LogRequestParameters(Dictionary<string, object> parameters) |
| | | private static void LogRequestParameters(Dictionary<string, object> parameters,string url = "") |
| | | { |
| | | LogFactory.GetLog("API接口").Info(true, "请求参数: " + JsonConvert.SerializeObject(parameters)); |
| | | LogFactory.GetLog("API接口").Info(true, "url:" + url + "请求参数: " + JsonConvert.SerializeObject(parameters)); |
| | | } |
| | | |
| | | private static void LogResponseParameters(string responseBody) |
| | | private static void LogResponseParameters(string responseBody, string url = "") |
| | | { |
| | | LogFactory.GetLog("API接口").Info(true, "响应参数: " + responseBody); |
| | | LogFactory.GetLog("API接口").Info(true, "url:" + url + "响应参数: " + responseBody); |
| | | } |
| | | |
| | | private static IEnumerable<KeyValuePair<string, string>> ConvertToKeyValuePairs(Dictionary<string, object> parameters) |