获取令牌
优化前的代码:
public async Task<string> getToken() { var model = new { userName = shcutoken.userName, userPassword = shcutoken.userPassword }; string postDataStr = JsonConvert.SerializeObject(model); Utility.WriteLog("SHCU获取鉴权令牌:" + getTokenurl + DateTime.Now.ToString(), ""); //1.准备URL var requestMessage = new HttpRequestMessage(HttpMethod.Post, $"{getTokenurl}"); //2.准备请求体 requestMessage.Content = new StringContent(postDataStr, System.Text.Encoding.UTF8, "application/json"); //3、初始化一个HttpClient var _client = new HttpClient(); string retString = ""; try { //ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; //ServicePointManager.ServerCertificateValidationCallback = true; ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate; var response = await _client.SendAsync(requestMessage).ConfigureAwait(false); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync().ConfigureAwait(false); retString = result; } else { retString = JsonConvert.SerializeObject(new { code = -999999, msg = response.StatusCode }); } Utility.WriteLog("SHCU获取鉴权令牌返回:" + retString, ""); } catch (Exception ex) { Utility.WriteLog("SHCU获取鉴权令牌异常:" + ex.Message + ex.StackTrace, ""); return "SHCU获取鉴权令牌异常:url{" + getTokenurl + "}" + ex.StackTrace; } return retString; }
优化后的代码:
public async Task<string> GetToken() { var model = new { userName = shcutoken.userName, userPassword = shcutoken.userPassword }; var requestMessage = new HttpRequestMessage(HttpMethod.Post, getTokenurl); requestMessage.Content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"); using (var client = new HttpClient()) { try { ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate; var response = await client.SendAsync(requestMessage); response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsStringAsync(); Utility.WriteLog($"SHCU获取鉴权令牌返回:{result}", ""); return result; } catch (HttpRequestException ex) { Utility.WriteLog($"SHCU获取鉴权令牌异常:{ex.Message}{ex.StackTrace}", ""); return $"SHCU获取鉴权令牌异常:url{{{getTokenurl}}}{ex.StackTrace}"; } } }