Windows Phone 7, скачать XML через SSL с аутентификацией - PullRequest
3 голосов
/ 04 мая 2010

Я пытаюсь загрузить файл от моего провайдера.

URL-адрес защищен базовым именем пользователя и паролем, и все отправляется по ssl.

Итак, я пытаюсь сделать это:

        WebClient proxy = new WebClient();

        proxy.DownloadStringCompleted += (o, dscea) => System.Diagnostics.Debugger.Break();
        proxy.Credentials = new NetworkCredential("username", "password");
        proxy.DownloadStringAsync(new Uri("https://..../.../data.xml"));

Как видите, я пытаюсь подтвердить. URL-адрес правильный, и код работает, когда я пытаюсь загрузить что-то из твиттера.

И URL работает, когда я набираю его в Firefox / Internet Explorer

Что я забыл подключиться к этому XML-файлу?

Я получаю следующую ошибку:

И я использую Visual Studio 2010 (полная версия, а не Express) и обновление CTP:)

Ответы [ 2 ]

6 голосов
/ 13 июля 2010

Это исправлено в выпуске бета-версии инструментов. Мне пришлось установить заголовок авторизации напрямую, хотя .NET не обрабатывает базовую аутентификацию так, как вы могли бы ожидать. Вот мой фрагмент рабочего кода:

var client = new WebClient();

var token = Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", username, password)));
var authHeader = string.Format("Basic {0}", token);

client.Headers["Authorization"] = authHeader;
client.DownloadStringCompleted += (s, e) =>
{
   // handle result
};

client.DownloadStringAsync(url);
2 голосов
/ 05 мая 2010

Очевидно, что происходит сбой при попытке сделать запрос SSL. Аутентификация по SSL не поддерживается в Silverlight (выдает исключение notimplementedException) в REGULAR Silverlight.

Так что я уверен, что это та же проблема в WP7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...