Как загрузить веб-страницу в приложении MetroStyle (WinRT) и С#
Я создаю приложение MetroStyle, и я хочу использовать API веб-сайта, основанный на методах HTTP Get. Например, чтобы войти в систему, я должен загрузить XML, возвращенный этим URL-адресом:
websitehost.com/api/login.php?u=username&p=password
Проблема в том, что новые приложения MetroStyle не позволят мне использовать многие из методов, которые я использовал в течение многих лет в .Net, так как я могу загрузить возвращенный документ XML и проанализировать его?
Ответы
Ответ 1
Возможно, вы ищите это:
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();
}
Ответ 2
Вы можете использовать метод Windows.Data.Xml.Dom.XmlDocument.LoadFromUriAsync(Uri)
для автоматического получения и анализа XML, или вы можете вручную использовать Windows.Networking.BackgroundTransfer.DownloadOperation
, чтобы вызвать веб-службу и получить данные, а Windows.Data.Xml.Dom.XmlDocument.LoadXml(string)
для анализа данных.
Ответ 3
Вы должны иметь возможность использовать
var data = await (new System.Net.Http.HttpClient()).GetAsync(new Uri("http://wherever"));
И затем сделайте все, что вам нужно, с данными, включая загрузку с помощью XmlDocument или XElement или еще чего-то.