使用webbrowser时,如何获取其cookie,在线等,急(请dfw们赐教) ( 积分: 50 )

  • 主题发起人 主题发起人 netlangz
  • 开始时间 开始时间
N

netlangz

Unregistered / Unconfirmed
GUEST, unregistred user!
如t,如何得到页面登陆后的cookie
 
如t,如何得到页面登陆后的cookie
 
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if not Webbrowser1.Busy then //这句代码的意思是
begin
Doc:=Webbrowser1.Document as IHTMLDocument2; //将Webbrowser1.Document转化为IHTMLDocument2接口
EdCookies.Text:=Doc.cookie; //将获取到的COOKIES放到EdCookies.text里面
end;

end;
 
虚伪人生 兄,用你的方法果然能提取cookie,那么如何利用这个cookie呢?也就是如何实现在WebBrowser中打开任何一个页面而不需要再验证用户名和密码了。

我现在使用WebBrowser碰到一个棘手问题,叙述如下:
实现的功能:我要打开一个网站里的一个带有表单的页面(这个页面需要用户登录后才能访问到),然后让程序自动填写这个表单,数据来源是DBGrid中的一条记录(该记录的数据项和表单一一对应),填完后让用户点击页面上的提交按纽,完成提交。
首先我用带参数的地址打开带表单的数据,
WebBrowser1.Navigate('http://****.****/login?username=***&password=****')
用户名和密码是访问这个网站的用户名和密码。
执行上面的语句后能打开那个页面,但是随便填几个数据(程序自动填写的代码还没写),按提交按纽后弹出网站提示我的用户名和密码已经超时,需要重新登陆。
此时如果我打开一个IE,然后通过IE登陆到这个网站(就登陆,其他什么都不做),这样,原来那个页面的提交就可以顺利完成,但只要IE的那个登陆过的页面一关闭就不行了。我知道这是cookie的问题,因为网站登陆后,我的内存里就维护着一个该网站发过来的cookie,但是我不知道怎样关联这个cookie和我的WebBrowser控件。我想不需要用户再用IE登陆网站就可以实现提交。

请各位大侠多指点!!!
 
后退
顶部