C# .NET验证POST请求结果

C# .NET验证POST请求结果,c#,.net,web-scraping,C#,.net,Web Scraping,我需要我的应用程序以用户定义的登录名和密码登录网站。虽然发送POST数据非常简单,但我无法管理如何检查返回的页面是否显示“登录”或“密码错误”语句 为指定语句搜索.html字符串的速度太慢,并且由于页面是动态加载的(使用相同的url),因此无法比较预先设置的错误页面 是否有用于管理.html内容的库?我可以使用java或python以及c#如果我必须通过脚本登录时出现问题,网站会在两个登录结果上返回200OK响应:登录或未登录。因此,您必须解析传入的html中所需的字符串,以验证凭证检查是否成功

我需要我的应用程序以用户定义的登录名和密码登录网站。虽然发送POST数据非常简单,但我无法管理如何检查返回的页面是否显示“登录”或“密码错误”语句

为指定语句搜索.html字符串的速度太慢,并且由于页面是动态加载的(使用相同的url),因此无法比较预先设置的错误页面


是否有用于管理.html内容的库?我可以使用java或python以及c#如果我必须通过脚本登录时出现问题,网站会在两个登录结果上返回
200OK
响应:登录或未登录。因此,您必须解析传入的html中所需的字符串,以验证凭证检查是否成功。没有其他方法可以做到这一点,除非该站点提供一些API

解析生成的HTML的最佳方法是使用。我以前用过它,从页面中获取所需字符串真是太棒了。

吃你的饼干吧 大多数网站将使用cookies跨多个请求跟踪当前用户的会话。在发送POST请求时,您必须将cookie存储附加到WebRequest,并检查存储中的登录响应

每个网站将以不同的方式实施会话跟踪。因此,没有一种解决方案适合所有人,但在大多数情况下,您所要做的就是验证cookie是否存在于给定名称下。cookie包含什么并不重要,但是当cookie存在时,您就知道登录成功了

该cookie存储必须用于来自该用户会话的服务器的其他请求。因此,无论如何,您都可能需要跟踪cookies

网站可以使用其他方法跟踪用户会话,包括GET参数中的会话ID或使用web服务器持久连接


我不知道有多少网站不使用cookies来跟踪用户会话而登录用户。我会先看看那里。

我做了一些研究,发现正则表达式非常适合我的问题,因为它们易于实现,而且在这种情况下非常快

如果有人也会遇到这样的问题:

using System.Text.RegularExpressions;

// .html document returned by page
string webRequestResponse = getResponse();
// site error string
const string REGEX = "Password is not correct.";
// check if page contain that error
bool wrongPassword = Regex.IsMatch(webRequestResponse, REGEX);

和提琴手一起审问怎么样?