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/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

相关文章
|
2月前
|
存储 C#
【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量
【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量
|
5月前
|
Android开发 对象存储
OSS对象储存android开发进行下载到本地文件时异步操作失效
android vivo80使用官方示例代码进行文件下载,但是使用oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>()时onSuccess和onFailure不执行
|
5月前
|
Web App开发 测试技术 API
Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求
Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求
149 1
|
前端开发
如何在前端下载后端返回的文件流时,获取请求头中的文件名称?
如何在前端下载后端返回的文件流时,获取请求头中的文件名称?
1352 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读取/写入器 写入