首页 > Web开发 > 详细

IHttpClientFactory Get和Post

时间:2021-04-06 20:54:19      阅读:16      评论:0      收藏:0      [点我收藏+]
  public class LoginController : Controller
    {
        private readonly IHttpClientFactory _clientFactory;
        public LoginController(IHttpClientFactory clientFactory)
        {
            _clientFactory = clientFactory;
        }
        public IActionResult Index()
        {
            return View();
        }
        public async Task<IActionResult> Login(string username,string pwd)
        {
            //todo:调用id4server获取token
            string token = await GetToken(username, pwd);
       
            ResultDto<string> resultDto = new ResultDto<string>();
            resultDto.Data = token;
            resultDto.StatusCode = ResultCodes.OK;
            resultDto.Message = "操作成功";
            return Json(resultDto);
        }
        /// <summary>
        /// 调用id4server获取token
        /// </summary>
        /// <param name="username"></param>
        /// <param name="pwd"></param>
        /// <returns></returns>
        private async Task<string> GetToken(string username, string pwd)
        {
           
            var client = _clientFactory.CreateClient();
//传输json格式
// var content= new StringContent("xxx=xxx", Encoding.UTF8,"application/json");
// 模拟表单提交
var content = new StringContent($"client_id=user_clientid&client_secret=user_secret&grant_type=password&username={username}&password={pwd}", Encoding.UTF8, "application/x-www-form-urlencoded"); var httpResponse = await client.PostAsync($"http://localhost:5000/connect/token", content); var jsonData= await httpResponse.Content.ReadAsStringAsync(); AuthModel model = JsonConvert.DeserializeObject<AuthModel>(jsonData); return model.access_token; } }

 

IHttpClientFactory Get和Post

原文:https://www.cnblogs.com/25miao/p/14622750.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!