• C# HttpWebRequest保存cookies模拟登录的方法【z】【解决】


    CookieContainer cookies = new CookieContainer();
    
     
    
                string url = "http://www.google.com.hk/";
                HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
                myHttpWebRequest.Timeout = 20 * 1000; //连接超时
                myHttpWebRequest.Accept = "*/*";
                myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
                myHttpWebRequest.CookieContainer = new CookieContainer(); //暂存到新实例
                myHttpWebRequest.GetResponse().Close();
                cookies = myHttpWebRequest.CookieContainer; //保存cookies
                string cookiesstr = myHttpWebRequest.CookieContainer.GetCookieHeader(myHttpWebRequest.RequestUri); //把cookies转换成字符串
    
     
    
    
                url = "http://www.google.com.hk/search?oe=utf8&ie=utf8&source=uds&hl=zh-CN&q=3g";
                myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
                myHttpWebRequest.Timeout = 20 * 1000; //连接超时
                myHttpWebRequest.Accept = "*/*";
                myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
                myHttpWebRequest.CookieContainer = cookies; //使用已经保存的cookies 方法一
                //myHttpWebRequest.Headers.Add("Cookie", cookiesstr); //使用已经保存的cookies 方法二
                HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    
     
    
                Stream stream = myHttpWebResponse.GetResponseStream();
                stream.ReadTimeout = 15 * 1000; //读取超时
                StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
                string strWebData = sr.ReadToEnd();
    
     
    
    
                richTextBox1.Text = cookiesstr  +"rnrn"+ strWebData;
  • 相关阅读:
    代理模式 值代理
    装饰者模式 检查装饰器循环
    装饰者模式 静态装饰组合
    装饰者模式 在依赖注入中体现
    代理模式 属性代理
    装饰器模式 动态组合装饰
    代理模式 请勿饮酒
    享元模式 文本编辑
    Mysql 字符串字段判断是否包含某个字符串的3种方法
    vuex存储保存数据、使用数据
  • 原文地址:https://www.cnblogs.com/maijin/p/2835549.html
Copyright © 2020-2023  润新知