HttpWebRequest、HttpWebResponse保存Cookie
2014-04-18 22:41
549 查看
这两天在做一个小程序,客户端通过HTTP间隔一定时间去访问服务器,在第一次连接服务器时进行初始化,之后的连接需要用到Cookie,通过服务器端的Cookie来判断连接的合法性。折腾了很长时间都没有搞定,今天终于搞定了,主要是从“C#
HttpWebRequest保存cookies模拟登录的方法!”这篇文章找到答案,记录如下,原文。
在此感谢原文的作者。
HttpWebRequest保存cookies模拟登录的方法!”这篇文章找到答案,记录如下,原文。
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 +"\r\n\r\n"+ strWebData;
在此感谢原文的作者。
相关文章推荐
- DotNet Compact Framework 中使用HttpWebRequest和HttpWebResponse时使用Cookie
- HttpWebRequest.CookieContainer与HttpWebResponse.Cookies的区别和联系
- HttpWebRequest.CookieContainer与HttpWebResponse.Cookies的区别和联系
- 利用HttpWebRequest和HttpWebResponse获取Cookie
- 利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录
- 利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录
- WebView 保存HttpResponse 中的Cookie
- [保存]C# 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- 利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录
- HttpWebRequest.CookieContainer与HttpWebResponse.Cookies的区别和联系
- (转)HttpWebRequest和HttpWebResponse
- 跨域读取Cookie和session之HttpWebRequest另类方法(网站API开发)
- HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的
- 【转载】HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法
- HttpWebRequest && WebResponse
- winform 使用httpwebrequest httpwebresponse 抓取数据
- HttpWebRequest 和 HttpWebResponse 的应用 (网页下载)
- Web 的请求HttpServletrequest和响应HttpServletResponse
- HttpWebRequest中的cookieCollection和cookeContainer
- HttpWebRequest BeginGetResponse EndGetResponse