我正在使用Windows.Web.Http.HttpClient连接到我的WEB API。应用程序没有提示用户名和密码,但最近我将AuthorizeAttribute过滤器从操作移动到类级别更改了WEB API。现在,我的Windows store 8.1应用程序会提示输入用户名和密码。请告诉我如何设置HttpClient以不提示登录和密码。有人能建议我是否需要添加头文件到我的httpcleint中吗?
使用(Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient()) { // 添加用户代理标头 var headers = httpClient.DefaultRequestHeaders; }
//安全的方法是通过TryParseAdd方法检查来自用户的标头值 //由于我们知道这个标头是好的,所以我们使用ParseAdd,会抛出一个异常- //如果是无效的值,则会使用http://msdn.microsoft.com/en-us/library/windows/apps/dn440594.aspx。
使用(Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient()) { // 添加用户代理标头 var headers = httpClient.DefaultRequestHeaders; }
//安全的方法是通过TryParseAdd方法检查来自用户的标头值 //由于我们知道这个标头是好的,所以我们使用ParseAdd,会抛出一个异常- //如果是无效的值,则会使用http://msdn.microsoft.com/en-us/library/windows/apps/dn440594.aspx。
headers.UserAgent.ParseAdd("ie");
headers.UserAgent.ParseAdd("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
using (var response = await httpClient.GetAsync(new Uri(url)))
我看不到发送默认凭据的方法。