当我使用HttpWebRequest时,我使用以下代码来设置凭据
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToCall);
request.Method = "GET";
request.Credentials = new NetworkCredential(username, pass);
在Windows Phone 8中使用BackgroundTransferService时,如何执行相同的操作。
供参考,我使用以下内容
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202955%28v=vs.105%29.aspx
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202959%28v=vs.105%29.aspx
*编辑: 身份验证方法是摘要 这是我使用浏览器下载文件时在Authorization Header中获得的内容。
Digest username =“adf”,realm =“bcd”,nonce =“XXXXXXXXX”,uri =“/ ans / 1268e52399.txt”,algorithm = MD5,response =“XXXXXXXXXXXXXXX”,qop = auth,nc = 00000001 ,cnonce =“XXXXXXXXXXXX”
答案 0 :(得分:0)
不幸的是,BackgroundTranserService不支持此功能。一种可能的解决方案可能是为您的请求手动创建标题,如下所示:
var credentials = new UTF8Encoding().GetBytes(username + ":" +password);
var transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.Headers["Authorization"] ="Basic " + convert.ToBase64String(credentials);
不幸的是我现在无法测试这个,尝试一下让我知道你是怎么过的。