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

发布于 2024-12-18 08:10:00 字数 241 浏览 1 评论 0原文

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

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

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

I'm creating a MetroStyle app and I want to use a website API that is based on the HTTP Get methods. For instance to login I should download the XML returned by this URL:

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

The problem is that the new MetroStyle apps won't let me to use many of the methods I've been using for years in .Net so how can I download the returned XML document and parse it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你列表最软的妹 2024-12-25 08:10:00

您可能正在寻找这个:

    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();
    }

You might be searching for this:

    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();
    }
·深蓝 2024-12-25 08:10:00

您可以使用 Windows.Data.Xml.Dom .XmlDocument.LoadFromUriAsync(Uri) 方法自动获取并解析 XML,或者您可以手动使用 Windows.Networking.BackgroundTransfer.DownloadOperation< /code>实例调用 Web 服务并获取数据,以及 Windows.Data.Xml.Dom.XmlDocument.LoadXml(字符串) 解析数据。

You can use either the Windows.Data.Xml.Dom.XmlDocument.LoadFromUriAsync(Uri) method to automatically acquire and parse the XML, or you could manually use a Windows.Networking.BackgroundTransfer.DownloadOperation instance to call the web service and acquire the data, and Windows.Data.Xml.Dom.XmlDocument.LoadXml(string) to parse the data.

亢潮 2024-12-25 08:10:00

您应该能够使用

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

然后对数据执行任何您需要的操作,包括使用 XmlDocument 或 XElement 或其他方式加载它。

You should be able to use

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

And then do whatever you need with the data, including loading it with XmlDocument or XElement or whatnot.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文