Windows.Networking.BackgroundTransfer.BackgroundDownloader上的Cookie请求标头无法正常工作

时间:2011-12-05 05:26:58

标签: javascript windows microsoft-metro

我无法使用以下代码下载文件。服务器需要先前检索的用于下载文件的cookie。

在Fiddler2中观察时,发送到服务器的请求标头缺少设置的cookie。

有没有理由说明cookie没有坚持backgrounddownloader?设置User-Agent之类的任何其他标题,此处未显示,但工作正常。

    Windows.Storage.ApplicationData.current.temporaryFolder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.replaceExisting).then(function (newFile)
    {
        var uri = Windows.Foundation.Uri(uriString);
        var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
        downloader.setRequestHeader("Cookie", cookie);

        // Start the download asynchronously.
        var promise = downloader.startDownloadAsync(uri, newFile);

        // Persist the download operation.
        operation = promise.operation;

        // Assign callbacks associated with the download.
        promise.then(completeCallback, error);
    });

1 个答案:

答案 0 :(得分:1)

我有同样的问题,我在msdn上问它。这是一个答案,但它仍然不适合我,你可以尝试以下代码

//twice calling SetRequestHeader
var downloader = new BackgroundDownloader();
downloader.SetRequestHeader("Cookie", "any non-empty string here");
downloader.SetRequestHeader("Cookie", "cookie1=something");

请参阅http://support.microsoft.com/kb/234486/en以获取详细的解决方法,尽管它与旧的XMLHttpRequest类相反。