专栏首页王磊的博客HttpWebRequest采集读取网站挂载Cookie的通用方法

HttpWebRequest采集读取网站挂载Cookie的通用方法

Asp.net 版本

HttpWebRequest采集时添加:httpWebRequest.CookieContainer = new CookieContainer();就能远程挂载上cookie,那么怎样去读取挂载上的cookie呢?

下面方法为大家解除烦恼。

遍历方法:

public static List<Cookie> GetAllCookies(CookieContainer cc)
{
    List<Cookie> lstCookies = new List<Cookie>();

    Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, cc, new object[] { });
    StringBuilder sb = new StringBuilder();
    foreach (object pathList in table.Values)
    {
        SortedList lstCookieCol = (SortedList)pathList.GetType().InvokeMember("m_list", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, pathList, new object[] { });
        foreach (CookieCollection colCookies in lstCookieCol.Values)
            foreach (Cookie c in colCookies)
            {
                lstCookies.Add(c);
                sb.AppendLine(c.Domain + ":" + c.Name + "____" + c.Value + "\r\n");
            }
    }
    return lstCookies;
}

使用:

List<Cookie> _cookieList = GetAllCookies(req.CookieContainer);
string _cookieValue = _cookieList[0].ToString();

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ASP.NET MVC 3发布报错(ASP.NET MVC 3在没有安装环境的服务器上运行)的解决方案

    前言 ASP.NET MVC 3在没有安装MVC3的环境的服务器上运行,就会报错,缺少引用,本文就为mvc3发布报错的解决方案。 解决方案 思路:提供ASP....

    Java中文社群_老王
  • iBatis for net 框架使用

    简介:ibatis 一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本...

    Java中文社群_老王
  • 惊呆了,竟然可以用这种方式秒建Redis集群?

    前面我们讲了《Redis 性能优化的 13 条军规!》,其中最重要的一条就是使用 Redis 的集群功能,那么本文我们就来看看,如何用 1s 钟的时间来创建一个...

    Java中文社群_老王
  • Java 集合补充

    集合和数组不一样,数组元素可以是基本类型的值,也可以是对象(的引用变量),集合里只能保存对象(的引用变量)。

    二十三年蝉
  • 软件工程第一次测试——学生管理系统设计

      成绩录入之前首先输入学号并验证是否存在,存在则继续输入并刷新屏幕,不存在则打印提示信息

    小老鼠
  • 小程序云开发实现商品浏览次数的展示

    我们在开发小程序的时候,经常遇到需要展示页面浏览次数,以彰显这个商品的热度。下面我们用云开发技术,实现一下这个简单的需求。

    CreatorRay
  • EasyExcel快速读写Excel数据

    ps: 其实本人并没有对比过POI,只是网络上资料都有这么一说,再对比了GitHub的star数,最后直接选用了EasyExcel

    十毛
  • ERP实施需掌握的企业仓储管理流程

    仓储在企业经营过程中具有不可估量的作用,它可以调节采购、生产、销售等各环节之间由于供求品种及数量的不一致而发生的变化,使产、销、购各个环节能够顺利有效地...

    用户5495712
  • 你是否也有过写不出代码的时候?程序员的编程灵感从何而来

    你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。

    一墨编程学习
  • 当一个程序员写不出代码了,该怎么办?

    你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。

    恒宇少年

扫码关注云+社区

领取腾讯云代金券