Как загрузить веб-страницу в приложении MetroStyle (WinRT) и C # - PullRequest
2 голосов
/ 28 ноября 2011

Я создаю приложение MetroStyle и хочу использовать API веб-сайта, основанный на методах HTTP Get.Например, для входа в систему я должен загрузить XML, возвращаемый этим URL:

websitehost.com/api/login.php?u=username&p=password

Проблема в том, что новые приложения MetroStyle не позволяют мне использовать многие из методов, которые я 'Уже много лет используется в .Net, так как я могу скачать возвращенный XML-документ и разобрать его?

Ответы [ 3 ]

5 голосов
/ 15 июня 2012

Возможно, вы ищете это:

    public async Task<string> DownloadPageStringAsync(string url)
    {
        HttpClientHandler handler = new HttpClientHandler()
        { UseDefaultCredentials = true, AllowAutoRedirect = true };

        HttpClient client = new HttpClient(handler);
        HttpResponseMessage response = await client.GetAsync(url);
        response.EnsureSuccessStatusCode();
        return await response.Content.ReadAsStringAsync();
    }
3 голосов
/ 28 ноября 2011

Вы можете использовать либо метод Windows.Data.Xml.Dom.XmlDocument.LoadFromUriAsync(Uri) для автоматического получения и анализа XML, либо вы можете вручную использовать экземпляр Windows.Networking.BackgroundTransfer.DownloadOperation для вызова веб-службы и получения data и Windows.Data.Xml.Dom.XmlDocument.LoadXml(string) для анализа данных.

0 голосов
/ 30 мая 2012

Вы должны быть в состоянии использовать

var data = await (new System.Net.Http.HttpClient()).GetAsync(new Uri("http://wherever"));

А затем делайте с данными все, что вам нужно, включая загрузку их с помощью XmlDocument, XElement или еще чего-нибудь.

...