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 阅读(205) 评论(0) 收藏 举报
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战