如何在Metrostyle App(WinRT)和C#下载网页
-
22-10-2019 - |
题
我正在创建一个Metrostyle应用程序,我想使用基于HTTP GET方法的网站API。例如,要登录我应该下载此URL返回的XML:
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
拨打Web服务并获取数据的实例,以及 Windows.Data.Xml.Dom.XmlDocument.LoadXml(string)
解析数据。
你应该能够使用
var data = await (new System.Net.Http.HttpClient()).GetAsync(new Uri("http://wherever"));
然后对数据进行任何您需要的事情,包括使用Xmldocument或Xlement或Whath加载它。
不隶属于 StackOverflow