Windows runtime WinRT使用HttpClient使用令牌调用基于Web API的URL

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

我们正在构建一个WinRT应用程序,它从基于Web API的服务器获取数据&因此它以json和/或XML格式提供数据

当应用程序用户第一次使用其凭据(用户名、密码)登录时,来自服务器的响应是一个成功位&一个令牌,应该在连续的URL请求中使用

我正在使用httpclient发送请求

     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。。。我的客户代码很好。。。服务器端验证请求时出现问题。。。塔克斯