HttpWebRequest客户端设置附加Cookie请求网页
2010-03-12 15:19
399 查看
前文“asp.net 程序自动提交登陆表单并保持Session及Cookie ”说到了通过WEB程序提交表单的方法,大体思路是获取HttpWebRequest客户端登陆后的Cookie,并附加到下次请求的CookieContainer中。这样做确实比较麻烦,每次都要重复请求登陆页获得Cookie。当然我们可以将这个登陆后获得的CookieContainer保存起来,至于保存到哪里都无所谓,如果要持久的话,保存到数据库中是最好的。
现在的情况是,如果我们已经知道了登陆后的Cookie,下次请求时将这些COOKIE直接附加到CookieContainer,是不是更方便呢?至少程序上少了获取Cookie的代码,界面上也不需要设置登陆表单的提交参数。
要知道登陆后Cookie的方法很多,用IE浏览器打开登陆页并登陆后,系统当前用户目录Cookies下都留下了记录,你也可以通过一些辅助工具来获取Cookie。
我们来看看代码上如何实现的:
//实例化CookieContainer对象
System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer();
//设置附加的Cookie
cookieContainer.SetCookies( new Uri( "请求的网址URL") , "Cookie实例字符串,每个实例以逗号分隔");
//请求时,带上这个CookieContainer
......
// 将提交的字符串数据转换成字节数组
byte[] postData = encoding.GetBytes(postString);
// 设置提交的相关参数
HttpWebRequest request = WebRequest.Create( url ) as HttpWebRequest;
request.Referer = url;
request.CookieContainer = cookieContainer ;
request.Method = method.ToUpper();
......
引用通告地址: http://www.zhangyongjun.com/blog/trackback.asp?tbID=214
现在的情况是,如果我们已经知道了登陆后的Cookie,下次请求时将这些COOKIE直接附加到CookieContainer,是不是更方便呢?至少程序上少了获取Cookie的代码,界面上也不需要设置登陆表单的提交参数。
要知道登陆后Cookie的方法很多,用IE浏览器打开登陆页并登陆后,系统当前用户目录Cookies下都留下了记录,你也可以通过一些辅助工具来获取Cookie。
我们来看看代码上如何实现的:
//实例化CookieContainer对象
System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer();
//设置附加的Cookie
cookieContainer.SetCookies( new Uri( "请求的网址URL") , "Cookie实例字符串,每个实例以逗号分隔");
//请求时,带上这个CookieContainer
......
// 将提交的字符串数据转换成字节数组
byte[] postData = encoding.GetBytes(postString);
// 设置提交的相关参数
HttpWebRequest request = WebRequest.Create( url ) as HttpWebRequest;
request.Referer = url;
request.CookieContainer = cookieContainer ;
request.Method = method.ToUpper();
......
引用通告地址: http://www.zhangyongjun.com/blog/trackback.asp?tbID=214
相关文章推荐
- 后端向服务器发送客户端请求--HttpWebRequest
- C#的HttpWebRequest编程,支持带ViewState的网页POST请求
- 【转】asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端
- HttpWebRequest模拟登陆,存储Cookie以便登录请求后使用
- c# HttpWebRequest与HttpWebResponse请求网页和返回网页教程
- C#的HttpWebRequest编程,支持带ViewState的网页POST请求
- 转 c# HttpWebRequest与HttpWebResponse请求网页和返回网页教程
- [转发]HttpWebRequest模拟登陆,存储Cookie以便登录请求后使用
- [zt]使用 AJAX 的 Sys.Net.WebRequest 从客户端请求网页
- 【转载】C# HttpHelper,Httprequest,请求时无视编码,无视证书,无视Cookie,网页抓取
- HttpWebRequest提高效率之连接数,代理,自动跳转,gzip请求等设置问题
- WebClient HttpWebRequest从网页中获取请求数据
- wp7使用POST请求Asp.net网页时,HttpWebRequest的BeginGetResponse方法抛出NotSupportException异常的解决方法
- C# HttpHelper,Httprequest,请求时无视编码,无视证书,无视Cookie,网页抓取
- C#使用HttpWebRequest进行HTTP请求发送和接收的一些小结。(新增修复.NET4.0以下关于cookie的bug)
- C# HttpHelper,Httprequest,请求时无视编码,无视证书,无视Cookie,网页抓取
- HttpWebRequest模拟登陆,存储Cookie以便登录请求后使用
- c# HttpWebRequest与HttpWebResponse请求网页和返回网页教程
- HttpWebRequest提高效率之连接数,代理,自动跳转,gzip请求等设置问题
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq