Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > [记录] HttpWebRequest登录论坛及其cookies的保存
【标  题】:[记录] HttpWebRequest登录论坛及其cookies的保存
【关键字】:HttpWebRequest,cookies
【来  源】:http://blog.csdn.net/eynStudio/archive/2006/09/04/1176739.aspx

[记录] HttpWebRequest登录论坛及其cookies的保存

Your Ad Here  
         关于采用WinForms方式登录Web论坛,已经研究有一段时间了。一波三折,终于有点满意的结论了!
         开始对此问题产生兴趣时,在CSDN.net找过一些参考资料:
http://community.csdn.net/Expert/topic/4659/4659063.xml?temp=.9342005
http://blog.csdn.net/Qqwwee_Com/category/146601.aspx
……
我也就模仿地进行了一些工作,但依然没有办法解决自己的问题。表现在:登录的次数每次都加1,但ID却显示为不在线!很多次都这个结果:就是能够登录,但刚登录就断开连接。什么原因呢?跟什么技术有关系呢?Cookies? Session? 但是,断点调试时,只是在webRequest.GetResponse() 之后断点,然后在网页上看ID是否在线,依然不在线。不可能阿,就算真的是Cookies、Session的问题,也没有那么快的。那究竟有登录吗?有的,登录次数有增加。在哪里出错呢?
         这个问题,耽误了好多天,也因此查了很多资料,联系了一些文章的作者,但就是没有办法……
         突然,有一天,我用Web方式登录论坛,并无意间跑去看自己是否在线;不看还好,看了吓一跳:我居然不在线!为什么呢?此时此刻,我想到我曾经设置过隐身,居然是隐身惹的祸?赶紧跑到个人设置的页面,把我的状态设置为公开。然后迫不及待地打开VS,急急忙忙地运行了停顿多日的项目。当再一次查看ID在线状态时,终于见到了我用WinForms登录的结果!
         教训:今后做用户信息相关的设计时,别忘了看看该用户是否隐身的!很多论坛不只表示用户是否在线,还有说明当前在那个版面或是某种状态,这时就要注意了阿^_^
 
至此,事情也只是告一段落,只是得到一定程度的解决。接着又有了另一个问题:登录成功后,怎么保存登录状态呢?参考资料表明:保存登录后的Cookies,今后发送请求时,附上该Cookies就可以了(Session也是同样采用保存Cookies的方法)。事实如此?
于是,我测试着这样做:
WebResponse=webRequest.GetResponse();
CookieCollection Cookies= WebResponse.Cookies;
但是,这个时候我发现行不通。因为登录页面的域名,和各个版面的域名不同,通过调试,我发现Cookies的内容不同,所以行不通!该怎么办呢?又该到了明察暗访的时候了。
……
http://community.csdn.net/Expert/topic/4932/4932839.xml?temp=.4951898
这是我近日看到的一篇文章,可惜的是我看不出他的问题在哪里。反而有了疑问:保存Cookies不是在WebResponse.Cookies获得的吗?怎么是在 webRequest.CookieContainer?难道这就是该文章的问题所在?于是采用断点的方式查看,果然发现了问题:
采用WebResponse.Cookies,获得的只是一个Cookie,而在webRequest.CookieContainer却可以看到有3个Cookies,而且明显说明属于3个不同的域名的!
于是,我明白了问题之所在,我把每次请求后的webRequest.CookieContainer保存以供下次访问时发送。终于能够使用保存下来的Cookies来登录各个版面了。
 
eynStudio
2006-09-03
MSN: eyn_wps@hotmail.com
QQ: 106569576
 
一个应届毕业生的求职历程及感悟:【上一篇】
automation服务器不能创建对象:【下一篇】
【相关文章】
  • 判断浏览器是否支持JavaScript和Cookies
  • 使用HttpWebRequest访问需要登录的网站-另一种途径
  • 使用集合清除站内Cookies的一段小代码
  • cookies的编码与防火墙
  • SYN cookies
  • 清除cookies和下载记录 避开网路跟踪
  • 在多线程环境下使用HttpWebRequest或者调用Web Service
  • Infopath Cookies(1)
  • Infopath Cookies(2)
  • 在Zope中使用Cookies
  • 【随机文章】
  • 使用有状态防火墙实现FTP功能
  • 4900交换机4口1000BASE-SX模块
  • 实现单机上一个数据库上同时跑两个实例
  • ASP学习第九天 0:29 2006-10-12 --王岩岚
  • ppp拨号上网
  • HP 9000
  • TINY_C--自定义异常
  • 漯河冶金机械设备股份有限公司负责人谈MRPⅡ实施策略
  • PHP4与MySQL数据库操作函数详解(六)
  • 一个Flex xml MP3播放器
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.