zoukankan      html  css  js  c++  java
  • 抓取网站内容过程中Session和cookie保持的问题

       取一个网站上的软件,发现对方为了防采集将下载地址进行ID变化,这样就需要webclient在下次请求时保持上次请求的Session和cookie才行,继承WebClient写了个类,就可以了。

    /// <summary>
    /// HttpClient 的摘要说明
    /// </summary>
    public class HttpClient:WebClient
    {
        private CookieContainer cookieContainer;
        public HttpClient()
    {
       //
       // TODO: 在此处添加构造函数逻辑
       //
            this.cookieContainer = new CookieContainer();

    }
        /**/
        /// <summary>
        /// 创建一个新的 WebClient 实例。
        /// </summary>
        /// <param name="cookie">Cookie 容器</param>
        public HttpClient(CookieContainer cookies)
        {
            this.cookieContainer = cookies;
        }
       
        /**//// <summary>
        /// Cookie 容器
        /// </summary>
        public CookieContainer Cookies
        {
            get { return this.cookieContainer; }
            set { this.cookieContainer = value; }
        }

        /**//// <summary>
        /// 返回带有 Cookie 的 HttpWebRequest。
        /// </summary>
        /// <param name="address"></param>
        /// <returns></returns>
        protected override WebRequest GetWebRequest(Uri address)
        {
            WebRequest request = base.GetWebRequest(address);
            if (request is HttpWebRequest)
            {
                HttpWebRequest httpRequest = request as HttpWebRequest;
                httpRequest.CookieContainer = cookieContainer;
            }
            return request;
        }

    }




  • 相关阅读:
    mongodb教程
    redis高级知识
    memcached删除机制与大数据缓存问题
    nginx 运维基础
    mysql 集群与分区
    Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法
    git cz配置
    Angular零碎知识点-持续补充
    Vue学习笔记-组件
    Vue学习笔记-自定义指令生命周期函数
  • 原文地址:https://www.cnblogs.com/freemobile/p/1249875.html
Copyright © 2011-2022 走看看