使用敏捷包C#处理cookie和头文件

时间:2012-06-21 08:48:01

标签: c# .net html-agility-pack

agilitypack在html解析方面对我来说非常出色, 但其他HTML方面呢? 对象agilitypack.HtmlWeb允许访问cookie和标题?

1 个答案:

答案 0 :(得分:3)

可以通过HtmlWeb.PreRequestHtmlWeb.PostResponse处理程序获取对Cookie和标头的访问权限。第一个发生在执行HTTP请求之前。第二个发生在执行HTTP请求之后。要使用Cookie,您应该通过将HtmlWeb属性设置为HtmlWeb.UseCookies来为true实例启用Cookie。

以下是一个例子:

var web = new HtmlWeb { UseCookies = true };
web.PreRequest += request =>
{
    // gets access to the cookie container
    var cookieContainer = request.CookieContainer;
    //  gets access to the request headers
    var headers = request.Headers;
    return true;
};
web.PostResponse += (request, response) =>
{
    // response headers
    var headers = response.Headers;
    // cookies
    var cookies = response.Cookies;
};