我尝试过使用很多类来下载和上传文件以及添加标题和身份验证,但这些类都不支持这两个类!
我已经尝试过backgrounddownloader,backgrounduploader,httpclient,httpwebclient,httprequestmessage类,但所有这些都让我失望。
也许我错过了什么,所以如果有人知道支持下载和上传身份验证和标题的课程,请分享您的代码。
答案 0 :(得分:0)
BackgroundTransfer API应该处理头文件和身份验证。标头在BackgroundDownloader和BackgroundUploader的SetRequestHeader方法中设置。此方法旨在多次调用,每个标头需要一次。
然后都有ServerCredential和ProxyCredential属性。这些都是Windows.Security.Credentials.PasswordCredential对象(http://msdn.microsoft.com/library/windows/apps/windows.security.credentials.passwordcredential.aspx)的实例。您通常会按如下方式创建PasswordCredential:
var cred = new Windows.Security.Credentials.PasswordCredential(resource, userName, password);
其中资源在这种情况下只是一个字符串,用于标识凭据所适用的资源(通常与Credential Locker API一起使用,此处不重要)。
你是说说标题和信用证分开工作但不能一起工作?你是如何测试它们的?
答案 1 :(得分:0)
解决了它,整个问题是请求方法,它需要一个帖子而不是get,我通过使用wireshark软件来解决它。
var uri = new Uri("");
var downloader = new BackgroundDownloader();
downloader.SetRequestHeader("Range", "bytes=0-");
downloader.Method = "POST";
downloader.SetRequestHeader("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryx5pLn3bHAS5Q8Ns5");
downloader.ServerCredential = new Windows.Security.Credentials.PasswordCredential()
{
UserName = signin.theusername,
Password = signin.thepassword
};