post content data to url and get response
public async Task<ActionResult> Login(FormCollection form) { //check company id; var corporationDisplayName = form["corporationName"]; var userName = form["userName"]; var passWord = form["password"]; var corporationId = await Utility.GetCorproationId(corporationDisplayName); var userAndPwd = "{\"AccountName\":\"" + userName + "\",\"Password\":\"" + passWord + "\",\"ClientInstallationId\":\"00000000000000000000000000000000\"}"; var baseUrl = ConfigurationCenter.Global["DirectoryBaseUrl"]; var loginUrl = baseUrl + "/Corporations/" + corporationId + "/Accounts/" + 1 + "/SignIn"; HttpContent content = new StringContent(userAndPwd); content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var request = new HttpClient(); var response = await request.PostAsync(loginUrl, content); var responseConent = response.Content.ReadAsStringAsync(); Debug.Write("response content:" + responseConent); var json = JsonObject.Parse(await response.Content.ReadAsStringAsync()); var accessToken = json.GetStringValue("AccessToken"); var userId = json.GetStringValue("UserId"); return RedirectToAction("", "", new { accessToken = accessToken, userId});
方法2:
string url = UrlUtility.Format("Corporations/{0}/Accounts/1/SignIn", service.CorporationId); using (var client = new HttpClient()) { var writer = new JsonWriter(); writer.WriteStartObject(); writer.Write("AccountName", accountName); writer.Write("Password", password); writer.WriteEndObject(); var result = await client.PostAsync(UrlUtility.Combine(service.DefaultDirectoryService, url), new ByteArrayContent(Encoding.UTF8.GetBytes(writer.ToString()))); var json = JsonObject.Parse(await result.Content.ReadAsStringAsync()) as JsonObject; var userId = json.GetGuidValue("UserId"); var accessToken = json.GetStringValue("AccessToken");
posted on 2014-04-21 17:34 paul_cheung 阅读(204) 评论(0) 收藏 举报
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 糊涂啊!这个需求居然没想到用时间轮来解决。
· 浅谈为什么我讨厌分布式事务
· 在 .NET 中使用内存映射文件构建高性能的进程间通信队列
· 一个 java 空指针异常的解决过程
· 揭开 SQL Server 和 PostgreSQL 填充因子的神秘面纱
· 15天流量破10万,免费拼图工具的毕业典礼是被抄袭
· 从硬盘爆满到 GitHub 封号,一位前端开发者的开源历险记
· .NET 使用 DocNET 库快速高效的操作 PDF 文档
· 微软又一自动化开源王炸,Selenium 慌了!
· 分享一个 ProHub 风格 logo 生成器