0

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

*編集: 認証方法はダイジェストです。これは、ブラウザーを使用してファイルをダウンロードするときに認証ヘッダーに表示されるものです。

ダイジェスト username="adf", realm="bcd", nonce="XXXXXXXXX", uri="/ans/1268e52399.txt", algorithm=MD5, response="XXXXXXXXXXXXXXX", qop=auth, nc=00000001, cnonce= 「XXXXXXXXXXXX」

4

1 に答える 1

0

残念ながら、これは BackgroundTranserService ではサポートされていません。考えられる解決策の 1 つは、以下のようにリクエストのヘッダーを手動で作成することです。

var credentials = new UTF8Encoding().GetBytes(username + ":" +password);

var transferRequest = new BackgroundTransferRequest(transferUri);

transferRequest.Headers["Authorization"] ="Basic " + convert.ToBase64String(credentials);

残念ながら、現時点ではこれをテストすることができません。試してみて、うまくいく方法を教えてください。

于 2013-10-07T19:27:36.720 に答える