1

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

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

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

4

1 回答 1

3

使用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;
    }
}
于 2013-11-05T18:31:08.797 回答