Как скачать веб -страницу в приложении Metrostyle (Winrt) и C#
-
22-10-2019 - |
Вопрос
Я создаю приложение Metrostyle и хочу использовать API веб -сайта, основанный на методах HTTP GET. Например, для входа я должен загрузить XML, возвращенный этим URL:
websitehost.com/api/login.php?u=username&p=password
Проблема в том, что новые приложения Metrostyle не позволят мне использовать многие методы, которые я использовал в течение многих лет в .net, так как я могу загрузить возвращенный документ XML и проанализировать его?
Решение
Вы можете искать это:
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();
}
Другие советы
Вы можете использовать либо Windows.Data.Xml.Dom.XmlDocument.LoadFromUriAsync(Uri)
метод для автоматического приобретения и разбора XML, или вы можете вручную использовать Windows.Networking.BackgroundTransfer.DownloadOperation
экземпляр для вызова веб -службы и получения данных, и Windows.Data.Xml.Dom.XmlDocument.LoadXml(string)
анализировать данные.
Вы должны иметь возможность использовать
var data = await (new System.Net.Http.HttpClient()).GetAsync(new Uri("http://wherever"));
А затем делайте все, что вам нужно с данными, включая загрузку его XMLDOCUMENT, XELEME или еще много чего.