На основании ответа здесь: How can I retrieve and parse just the html returned from an URL?Как использовать HttpClient в моем приложении .NET Framework 4.5/сайте?
... Я пытаюсь начать, добавив код, основанный на том, что здесь: http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx
... а именно, добавив в \ App_Code \ Functions.cshtml :
@functions
{
public static string GetUrlHtml(string dynamicUrl)
{
HttpClient client = new HttpClient();
string body = await client.GetStringAsync(dynamicUrl);
// parse it using HTML Agility Pack? (http://htmlagilitypack.codeplex.com/)
}
}
HttpClient не распознается и не предоставляет элемент контекстного меню «разрешение». Intellisense не предлагает мне «Http» после ввода:
@using System.Net.
ли HttpClient действительно недоступен для меня? Если да, то что я могу получить как утешительный приз? Это мой лучший вариант использовать WebClient как так:
WebClient wc = new WebClient();
string body = wc.DownloadString(dynamicUrl);
// parse it with html agility pack
... или, как показано на http://www.4guysfromrolla.com/articles/011211-1.aspx#postadlink, я могу использовать класс WebGet из HTML Agility Pack:
var webGet = new HtmlWeb();
var document = webGet.Load(dynamicUrl);
Кто-нибудь есть какие-либо поддерживаемые мнения о том, какой вариант является лучшим?
Вы пытаетесь сделать запрос HTTP из поля зрения Razor? Зачем? –
Проверьте ссылки, есть ли у вас 'System.Net.Http'? –
Почему бы и нет? Мне нравится Бритва. –