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

简介: Asp.net 版本 HttpWebRequest采集时添加:httpWebRequest.CookieContainer = new CookieContainer();就能远程挂载上cookie,那么怎样去读取挂载上的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();

 

img_fa0be433d68c8212b2b0b3b1a564ccb1.png
如果本文对你有所帮助,请打赏——1元就足够感动我:)
支付宝打赏 微信打赏
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号: img_9bde0f31ac4a0eca10b1bd7414b78faf.png


作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

相关文章
|
4月前
|
Java
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
Request请求转发和重定向的资源路径问题,目录到底加不加,取决于浏览器用,还是服务器用,规避项目目录发生修改,导致重定向失败
Request请求转发和重定向的资源路径问题,目录到底加不加,取决于浏览器用,还是服务器用,规避项目目录发生修改,导致重定向失败
|
6月前
|
存储 Java Spring
大事件后端项目29------文件上传_本地存储
大事件后端项目29------文件上传_本地存储
下载文件 | 下载流文件的处理方式
当下载文件时,返回为流的形式,所以在请求的时候设置 responseType:’arraybuffer’ 或者设置为 responseType: ‘blob’ 的时候,只有当接口返回正确的时候才会下载文件,返回错误的时候,应该是提示用户出错了,但是使用 arraybuffer 或者 blob 的时候,错误的信息也是返回这个形式的。所以需要转换一下。
174 0
|
存储 前端开发 JavaScript
封装直传阿里云存储文件上传控件(1)
封装直传阿里云存储文件上传控件(1)
197 0
封装直传阿里云存储文件上传控件(1)
|
存储 JavaScript
封装直传阿里云存储文件上传控件(3)
封装直传阿里云存储文件上传控件(3)
127 0
|
存储 对象存储
封装直传阿里云存储文件上传控件(2)
封装直传阿里云存储文件上传控件(2)
111 0
|
存储 JavaScript 前端开发
【网络知识补习】❄️| Cookie详解 和 Document.cookie使用文档+运行实例
🥝Cookie详解 什么是 Cookie? 使用 JavaScript 创建Cookie 使用 JavaScript 读取 Cookie 使用 JavaScript 修改 Cookie 使用 JavaScript 删除 Cookie Cookie 字符串 JavaScript Cookie 实例 设置 cookie 值的函数 获取 cookie 值的函数 完整实例 🍍Document.cookie使用文档+运行实例 语法 示例 示例1: 简单用法 示例2: 得到名为test2的cookie 示例3: 只执行某事一次 🍇一个小框架:一个完整支持unicode的cookie读取/写入器 写入