如何在MetroStyle应用程序(WinRT)和C#中下载网页

我正在创建一个MetroStyle应用程序,我想使用基于HTTP Get方法的网站API。 例如,登录时我应该下载此URL返回的XML:

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

问题是新的MetroStyle应用程序不允许我使用我在.Net中使用多年的许多方法,那么如何下载返回的XML文档并解析它?

您可能正在搜索此内容:

  public async Task 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或XElement或诸如此类的东西加载它。