获取令牌

优化前的代码:

复制代码
         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;
            }
复制代码

优化后的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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}";
            }
        }
 
    }

  

posted @   GroundSoft  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示