zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    堆排序(Heap Sort)
    快速排序(Quick Sort)
    希尔排序(Shell Sort)
    C和C++中的可变参数及宏的使用
    函数中的参数问题小结(&,*,传参与变参)
    C语言基础之struct
    C语言基础之指针
    从名字开始讲——C与C++的编译细节
    二维数组的动态初始化与复制
    《Java程序设计》第二次学习总结
  • 原文地址:https://www.cnblogs.com/maijin/p/2835549.html
Copyright © 2011-2022 走看看