« 世界上最远的距离DSO(dsoframer)的接口文档 »

C#之AxWebBrowser编程之Cooikes(Sessions)篇

网站很多应用系统,用到身份验证的基本上就是用到sessions这个变量(无论是j2ee,net,php等),关于Session其实是特定的一个客户端保存在服务器端的一系列信息,那Web服务是怎么知道,某个浏览者就是那个特定的浏览者呢,那就是用Cooikes实现的,客户端会有一个cookiesid这样的Cookies,当然由于web系统使用的技术不同,当然cookie的名字也会不同,php的就是phpsessionid,asp的就是aspsessionid,还有aspnetsessionid,javasessionid等。

在知道这个原理之后,我们就可以通过编程实现,很多web系统的限制,进入一些平时可能无法直接进入的页面。

比如联通的直充平台,原先它限制了一个用户只能在一个地方登陆,而且只能开一个窗口,其实,有这个方法之后,你可以在很多地方,开很多个窗口,服务器端程序还是认为只有你一个客户端。

还有很多投票程序,现在你在次投票,是通过向你的IE写入一个有一定时长的cookies表示这个已经投过票了,那我把这个Cooikes清除掉呢。很简单的把,作弊投票是否也变成很简单的事情拉(当然还不能考虑它限制IP,不过道高一尺,魔高一丈,我用代理,呵呵,网上代理多的很)。

不过新创建的AxWebBrowser是不能直接写入Cookies的,那我们就让它先打开一个空白页面好了

AxWebBrowser.Navigate("about:blank");
AxWebBrowser.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(AxWebBrowser_blankOk);

void AxWebBrowser_blankOk(object sender, DWebBrowserEvents2_DocumentCompleteEvent e)
        {
            AxWebBrowser.DocumentComplete -= new DWebBrowserEvents2_DocumentCompleteEventHandler(AxWebBrowser_blankOk);
            ((IHTMLDocument2)AxWebBrowser.Document).cookie = cookies;
           AxWebBrowser.Navigate("业务url");
        }

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新评论及回复

Google提供

最近发表

Powered By Z-Blog 1.8 Spirit Build 80605

Copyright 蚂蚁 www.antzj.net. Some Rights Reserved.