我正在尝试获取隐藏字段的内容
<input name="__RequestVerificationToken" type="hidden" value="kPx9IGKrVVAqqFeucPtMA23XjbP7L3gKUlGVnSRXd173frtNjADPLJu6wLoBPlxGiIcgNw2" />
我需要获取此值,以便我可以使用登录凭据进行回发。如何使用HTTPClient获取此值?
答案 0 :(得分: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;
}
}