【发布时间】:2014-06-30 00:10:56
【问题描述】:
我的问题与 Calling MVC4 WebAPI methods from C# Metro UI Client using PostAsync, HttpClient & Json 这不足以解决我的问题。
这是我在 Windows Phone 8.1 项目中的代码:
using (var httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri(baseAddress);
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "YW5vbnltb3VzOmFub255bW91cw==");
var message = "{ \"userName\" : \"WebAppUser\", \"password\" : \"M@mie!duCanta1l\" }";
var json_object = JsonConvert.SerializeObject(message);
HttpContent content = new StringContent(json_object.ToString(), Encoding.UTF8);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = httpClient.PostAsync(baseAddress + "/s/VpCredentials/1.0/IAuthentication/REST_JSON/Validate", content).Result;
string statusCode = response.StatusCode.ToString();
response.EnsureSuccessStatusCode();
Task<string> responseBody = response.Content.ReadAsStringAsync();
}
responseBody 总是会返回一小段带有https://m.vente-privee.com/f/fail_int.png 的html,表示调用失败。 Postman in Chrome 中内置的相同调用返回以下成功字符串:
{
"ValidateResult": {
"Expiration": "/Date(1404214568532+0200)/",
"Token": "P36Hm9K9zI1gm75hfOqI6hudfdGw8y7Zu1fVgbaSHp7ayvfLUn4YtNxU/8siJ7Wa",
"UserName": "WebAppUser"
},
"result": 1,
"analytics": true
}
您知道我在 C# 代码中做错了什么吗? 谢谢。
【问题讨论】:
标签: c# json post dotnet-httpclient httpcontent