Поэтому я уже несколько часов пытаюсь заставить это работать...
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.
Можете ли вы дать этому попробовать и посмотреть, не выбрасывает ли оно какое-либо исключение? Я тестировал это на устройстве, и, похоже, он работает нормально.
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;
}