【问题标题】:How to get all the cookies issued by a webpage in c#?如何在c#中获取网页发出的所有cookie?
【发布时间】:2016-07-26 02:13:54
【问题描述】:

我想获取某个页面下发的所有cookies。

使用 Chrome 的开发者工具,我可以看到一个页面发出了 adsense cookie。但是当我尝试使用 HttpWebRequest 时,我无法使用 response.Cookies 看到这些 cookie。

例如,访问页面:http://smallbiztrends.com/ 我可以看到使用开发者工具有 adsense cookie 但我无法使用 HttpWebRequest 访问此 cookie...

有人对此有解决方案吗?我做错了什么?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    这些 cookie 很可能来自网站提供的 html 页面上的几个 <iframe>

    如果您想获取所有这些 cookie,您需要获取 html,然后对其进行解析以查找所有标签,然后加载它们的 src 属性。

    请注意,其中一些可能还需要 javascript 才能运行……您基本上需要浏览器提供的所有功能。一个简单的 WebRequest 是不够的。

    如果您要试一试,请确保您创建一个 CookieContainer 并在每次发出请求时设置该实例:

    var cookies = new CookieContainer();
    
    WebRequest req = WebRequest.Create(formUrl);
    req.CookieContainer = cookies;
    
    // lots of handling 
    
    // next request
    req = WebRequest.Create(formUrl);
    req.CookieContainer = cookies; // reuse cookies
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      相关资源
      最近更新 更多