netcore PostAsync application/x-www-form-urlencoded


IHttpClientFactory _httpClientFactory;
        public HttpController(IHttpClientFactory httpClientFactory)
        {
            _httpClientFactory = httpClientFactory;
        }
        [HttpGet]
        public async Task<IActionResult> Get3()
        {
            var client = _httpClientFactory.CreateClient();
            var dic = new Dictionary<string, object> { { "scope", "api1" },
                { "grant_type", "password" },
                { "client_id","ro.client" },
                { "client_secret","secret" },
                { "username","alice"},
                { "password","password" } };
            var dic_str = dic.Select(m => m.Key + "=" + m.Value).DefaultIfEmpty().Aggregate((m, n) => m + "&" + n);
            HttpContent httpcontent = new StringContent(dic_str);
            httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
            var oauth_rep = await client.PostAsync("http://localhost:100/connect/token", httpcontent);
            var oauth_str = await oauth_rep.Content.ReadAsStringAsync();
            var oauth_job = JsonConvert.DeserializeObject<JObject>(oauth_str);


            client.SetBearerToken(oauth_job["access_token"].ToString());
            var data_rep = await client.GetStringAsync("http://localhost:101/api/values/get");
            var data_job = JsonConvert.DeserializeObject<JObject>(data_rep);
            return Ok(data_job);
        }

第一部分获取token,第二部分获取数据


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM