【问题标题】:HttpWebClient getting hidden field data from web pageHttpWebClient 从网页获取隐藏字段数据
【发布时间】:2013-11-05 18:18:32
【问题描述】:

我正在尝试获取隐藏字段的内容

<input name="__RequestVerificationToken" type="hidden" value="kPx9IGKrVVAqqFeucPtMA23XjbP7L3gKUlGVnSRXd173frtNjADPLJu6wLoBPlxGiIcgNw2" /> 

我需要获取此值,以便我可以使用登录凭据发回。如何使用 HTTPClient 获取此值?

【问题讨论】:

  • 它在 HTML 中,对吧?所以一旦你得到了 HTML,你需要解析它并找到那个内容......
  • 使用这个:htmlagilitypack.codeplex.com 并解析出来。

标签: c# asp.net-mvc dotnet-httpclient


【解决方案1】:

使用htmlagilitypack(懒得翻译成HttpClient而不是WebClient,但这不是重点):

using(var wc=new WebClient())
{
    var dom = wc.DownloadString(someUrl);
    var htmlDoc = new HtmlDocument();
    htmlDoc.LoadHtml(dom);
    var reqVerTokenElement = htmlDoc
                        .DocumentNode
                        .Descendants("input")
                        .Where(n => n.Attributes["name"]!=null 
                                    && n.Attributes["name"].Value
                                        =="__RequestVerificationToken")
                        .FirstOrDefault();
    if(reqVerTokenElement!=null)
    {
        var tokenValue = reqVerTokenElement.Attributes["value"].Value;
    }
}

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 2014-04-10
    • 2021-05-18
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多