Заголовок запроса cookie в Windows.Networking.BackgroundTransfer.BackgroundDownloader не работает

Я не могу загрузить файл со следующим кодом. Серверу требуется файл cookie, полученный ранее, для загрузки файла.

В заголовках запросов, которые отправляются на сервер, отсутствует установленный файл cookie, если он наблюдается в Fiddler2.

Есть ли причина, по которой файл 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);
    });

person srs    schedule 05.12.2011    source источник


Ответы (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.

person troyou    schedule 17.01.2012