C#模拟用户访问Web和CookieContainer


前段时间帮用户解决了个问题,原来老Notes系统中有很多数据和内容需要倒到新开发的系统中。老系统的数据库密码找不到了,打不开。后来用Notes自己的一个集成工具,数据倒入有丢失,直接用Notessql访问,拿到数据了,附件却受限制Notesql的字段长度限制,只能是1xK。没戏了。

钻研了Notes两个星期,只好用最傻也是最聪明的做法,模拟用户通过Web,一个数据一个数据抓下来,放到数据库里。这里就用到了CookieContainer。用户登录以后,把返回的Cookie都存在自己的CookieContainer里面,然后再在下次页面请求的时候再带回给服务器。哈哈,很快就把数据全取下来了。唉,不知道.Net的Webrequest缺省不象Java一样自己带Cookie的,也是用Sniffer发现.NET请求不带Cookie才去找答案的,不过这样设计更安全些,程序员可控制性更好,至少我感兴趣可以模拟100个客户登录而不用考虑Cookie/Session的问题。

当然,Notes做的Web没用到.NET一样的Viewstate这样的隐含字段,否则,要Post回去,还得分析页面,稍微有点麻烦。


代码就懒得贴了,Google一把到处都是。

posted on 2005-03-22 20:46  rssme  阅读(3576)  评论(4编辑  收藏  举报

导航