Как читать html с веб-страницы, используя Xamarin.Forms

1

Поэтому я уже несколько часов пытаюсь заставить это работать...

Ive сделал проект 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 веб-страницы, чтобы увидеть, что он работает, но он всегда возвращает пустое. У кого-нибудь есть идеи, как сделать эту работу?

Также я добавил эти две nugetpackages: Microsoft.Bcl.Async, которая добавляет поддержку async/wait PCL. Microsoft.Net.Http, который добавляет поддержку HttpClient для PCL.

  • 0
    Подпись метода должна быть Task <string>. Это задача или проблема форматирования сайта?
  • 0
    Нет, просто он возвращается ни с чем, я хочу HTML со страницы .. но он дает мне пустую строку
Показать ещё 1 комментарий
Теги:
xamarin
xamarin.forms

1 ответ

0

Можете ли вы дать этому попробовать и посмотреть, не выбрасывает ли оно какое-либо исключение? Я тестировал это на устройстве, и, похоже, он работает нормально.

    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;
    }
  • 0
    Для меня что такое отображение HTML веб-страницы? Его все еще просто показывает пустой
  • 0
    ты за прокси?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню