如何一起使用httpRequest和HtmlAgilityPack?

所以我试图登录页面并从该页面获取一些数据,但我的问题是填写这些登录信息。

我试过了什么? 在url中发布数据。 只需添加postname en值,如下所示: http://stackoverflow.com?postLogin=myUsername&postPassword=myPassword ://stackoverflow.com?postLogin = myUsername&postPassword = myPassword。 我用这个url发送了一个请求。 它给了我一个错误。 我在浏览器上查看了url。 它似乎确实填写了用户名而不是密码文本框(我写了正确的邮箱名)。

我也看到有人建议使用HtmlAgilityPack填写数据(标记为答案)。 但经过更多搜索后,单独使用HtmlAgilityPack似乎无法做到这一点。 HtmlAgilityPack适合解析html而不是填充它。 所以我得出结论,我可能必须使用httpRequest和HtmlAgilityPack的组合。

我可能错了,所以如果你有一个更好的建议,那将有助于自由指出我正确的方向。

但如果我想这样做,我不知道如何将它们一起使用。 我首先将我的webrequest发送到登录页面以获取htmlpage。 我从我的httpWebRequest获得响应,但是如何让我的Webbrowser类解析该响应,之后让我的webrequest使用用户名,密码发送post数据,当然还是尝试提交它?

如果你想在c#中给出答案,我想我能够阅读并自己翻译。

编辑:我刚刚使用了fiddler,并发送了8个post。 这是否意味着我已经发送了所有8个以及url?

无需使用WebBrowser来解析HTML。 您可以在HTML中查找所需的信息作为字符串,也可以使用http://htmlagilitypack.codeplex.com/等库来进行解析。

另外,您会发现http://www.fiddler2.com/非常有用,可以准确确定浏览器向网页发送的信息,以便您可以使用HttpWebRequest(标题,GET / POST值等)重现行为。

您还可以尝试http://www.chadsowald.com/software/fiddler-extension-request-to-code – 扩展到Fiddler,自动生成模仿浏览器请求的.NET代码。