gpt4 book ai didi

javascript - HtmlAgilityPack.HtmlDocument Cookies

转载 作者:搜寻专家 更新时间:2023-11-01 04:11:26 25 4
gpt4 key购买 nike

这适用于在脚本内设置的 cookie(可能在脚本标签内)。

System.Windows.Forms.HtmlDocument 执行这些脚本并且可以通过其 检索 cookie 集(如 document.cookie=etc...) Cookies 属性。

我假设 HtmlAgilityPack.HtmlDocument 不会执行此操作(执行)。我想知道是否有一种简单的方法来模拟 System.Windows.Forms.HtmlDocument 功能(cookie 部分)。

有人吗?

最佳答案

当我需要同时使用 CookiesHtmlAgilityPack,或者只是创建自定义请求时(例如,设置 User-Agent 属性,等),这就是我所做的:

  • 创建一个封装请求/响应的类。我们称这个类为 WebQuery
  • 在该类中有一个私有(private)CookieCollection(在您的例子中是public)
  • 在类中创建一个手动执行请求的方法。签名可以是:

...

public HtmlAgilityPack.HtmlDocument GetSource(string url);

我们需要在这个方法中做什么?

好吧,使用 HttpWebRequestHttpWebResponse,手动生成 http 请求(在 Internet 上有几个如何执行此操作的示例),创建一个 HtmlDocument 类使用接收流的构造函数。

我们必须使用什么流?好吧,返回的是:

httpResponse.GetResponseStream();

如果使用HttpWebRequest进行查询,每次访问新页面时,都可以轻松地将其CookieContainer属性设置为之前声明的变量,这样您访问的站点设置的所有 cookie 将正确存储在您在 WebQuery 中声明的 CookieContainer 变量中,考虑到您我们只使用 WebQuery 类的一个实例。

希望这个解释对您有用。考虑到使用它,您可以做任何您想做的事情,无论 HtmlAgilityPack 是否支持它。

关于javascript - HtmlAgilityPack.HtmlDocument Cookies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5562948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com