• 抓取网站内容过程中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;
        }

    }




  • 相关阅读:
    javascript变量作用域、匿名函数及闭包
    SenchaTouch2中navigation下嵌入list无事件响应问题解决
    Fedora17安装SSH
    25个必须记住的SSH命令
    linux下安装hadoop
    Fedora17实现图形界面root登录
    virtualBox利用已创建的vdi文件克隆快速创建新虚拟机
    printf/scanf格式修饰符
    windowsServer2003服务器上修改ftp端口号
    为ckeditor添加行距的功能(转载)
  • 原文地址:https://www.cnblogs.com/freemobile/p/1249875.html
Copyright © 2020-2023  润新知