使用 agilitypack C# 处理 cookie 和标头

mcl*_*fee 4 .net c# html-agility-pack

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

Ale*_*lex 5

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

这是一个例子:

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;
};
Run Code Online (Sandbox Code Playgroud)