1

ここの回答に基づいて: URL から返された html だけを取得して解析するにはどうすればよいですか?

...ここにあるものに基づいてコードを追加することから始めようとしています: 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 に示されているように、HTML Agility Pack の webGet クラスを使用できます。

var webGet = new HtmlWeb();
var document = webGet.Load(dynamicUrl);

どのオプションが最適かについて支持できる意見を持っている人はいますか?

4

3 に答える 3

4

間違った答えは受け入れられたものです。

これは正しいものです:

構成に追加

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        </assemblies>
    </compilation>
</system.web>
于 2014-03-29T00:41:16.140 に答える
3

へのアセンブリ参照があることを確認してくださいSystem.Net.Http

于 2013-06-06T04:22:17.793 に答える
1

この nuget パッケージをインストールすると、適切な参照http://nuget.org/packages/Microsoft.Net.Http/2.0.20710.0が追加されます

于 2013-06-07T14:49:45.123 に答える