C#_HttpWebRequest保存cookies模拟登录的方法
2024-09-01 01:07:29
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;
最新文章
- HTTP请求头详解
- 杭电ACM 1197
- 如何在CALayer设置滤镜
- jquery 读取xml
- 算法系列3《SHA》
- JFrome 登陆/注册/回显/输出流小程序之二
- 服务没有mysql
- 青蛙跳台阶问题——剑指offer
- 史上最全的Matlab资源电子书教程和视频下载合集【超级推荐】
- incomplete type is not allowed
- LwIP之socket应用--WebServer和Modbus TCP
- 城乡联谊胡策会糊厕R3
- spring boot整合mybatis基于注解开发以及动态sql的使用
- ranch 源码分析(三)
- csharp:FTP Client Library using FtpWebRequest or Sockets
- php多进程 防止出现僵尸进程
- sublime Text3 JsFormat
- 物联网通信 - RESTDemo示例程序(Python版本)
- Lua学习笔记(6): 函数
- cascade=CascadeType.ALL的深坑