Windows runtime WinRT使用HttpClient使用令牌调用基于Web API的URL
我们正在构建一个WinRT应用程序,它从基于Web API的服务器获取数据&因此它以json和/或XML格式提供数据 当应用程序用户第一次使用其凭据(用户名、密码)登录时,来自服务器的响应是一个成功位&一个令牌,应该在连续的URL请求中使用 我正在使用httpclient发送请求Windows runtime WinRT使用HttpClient使用令牌调用基于Web API的URL,windows-runtime,windows-store-apps,winrt-xaml,asp.net-web-api,Windows Runtime,Windows Store Apps,Winrt Xaml,Asp.net Web Api,我们正在构建一个WinRT应用程序,它从基于Web API的服务器获取数据&因此它以json和/或XML格式提供数据 当应用程序用户第一次使用其凭据(用户名、密码)登录时,来自服务器的响应是一个成功位&一个令牌,应该在连续的URL请求中使用 我正在使用httpclient发送请求 using (HttpClient httpClient1 = new HttpClient()) { string u
using (HttpClient httpClient1 = new HttpClient())
{
string url = "http://example.com/abc/api/process1/GetLatestdata/10962f61-4865-4e7a-a121-3fdd968824b5?employeeid=6";
//The string 10962f61-4865-4e7a-a121-3fdd968824b5 is the token sent by the server
var response = await httpClient1.GetAsync(new Uri(url));
string content = await response.Content.ReadAsStringAsync();
}
现在我得到的回复是状态代码401“未授权”。
我得到的响应是“未经授权的用户”
appManifest中有什么我需要更改的吗
我已经检查过了,但是我们不能在没有凭据的情况下使用httpclient吗???您的功能已经足够了。您甚至不需要Internet(客户端),因为它包含在Internet(客户端和服务器)中 您没有WinRT
HttpClient
的凭据,在链接的帖子中,这些凭据指向System.Net.Http.HttpClientHandler
也许您可以使用HttpBaseProtocolFilter
添加凭据
using (var httpFilter = new HttpBaseProtocolFilter())
{
using (var httpClient = new HttpClient(httpFilter))
{
httpFilter.ServerCredential...
}
}
我不知道你的安全机制,我使用的是
HttpClient
,我的会话密钥在cookie中。但我认为您的客户端代码看起来不错。Dani u r correct。。。我的客户代码很好。。。服务器端验证请求时出现问题。。。塔克斯