如何使用 Xamarin.Forms 从网页读取 html

本文关键字:网页 读取 html Forms 何使用 Xamarin | 更新日期: 2023-09-27 18:32:38

所以我已经尝试了几个小时来让它工作......

我做了一个Xamarin Forms PCL项目,我一直在尝试阅读网页的html。

这是我最近的尝试:

我调用在网页中读取的方法

async Task<String> GetWebContent() 
   {
        var httpClient = new HttpClient();
        return await httpClient.GetStringAsync ("http://www.google.se");
    }

然后我像这样调用此方法:

string html = await GetWebContent();
DisplayAlert("alert", html, "ok");

我只是尝试显示网页的html以查看它是否有效,但它总是返回空白。有人知道如何做到这一点吗?

此外,我还添加了这两个 nugetpackage:Microsoft.Bcl.Async,它为 PCL 添加了异步/等待支持。Microsoft.Net.Http,它为 PCL 添加了 HttpClient 支持。

如何使用 Xamarin.Forms 从网页读取 html

你能试一试这个,看看它是否抛出任何类型的异常吗?我在设备上对此进行了测试,它似乎工作正常。

    public static Page GetMainPage()
    {   
        var button = new Button
            {
                Text = "Click to display web page",
                VerticalOptions = LayoutOptions.CenterAndExpand,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
            };
        var page = new ContentPage
        {
            Content = button
        };
        button.Clicked += async (s, e) =>
            {
                try
                {
                    var webPage = await new HttpClient().GetStringAsync(new Uri("http://www.google.se"));
                    await page.DisplayAlert("alert", webPage, "ok", "cancel");
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
            };

        return page;
    }