1

次のコードでファイルをダウンロードできません。サーバーは、ファイルをダウンロードするために以前に取得した 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);
    });
4

1 に答える 1

2

私は同じ問題を抱えており、msdn で質問しています。これは1つの答えですが、それでもうまくいきません。次のコードを試すことができます

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

古い XMLHttpRequest クラスに対するものですが、詳細な回避策についてはhttp://support.microsoft.com/kb/234486/enを参照してください。

于 2012-01-17T02:39:15.387 に答える