paul_cheung

导航

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  阅读(208)  评论(0)    收藏  举报