如何让idhttp直接使用ie登录好的cookie来工作

原文:http://topic.csdn.net/t/20050620/16/4094632.html

说清楚一点问题,我想让用户通过ie登录一个网站后,然后程序工作,通过idhttp直接取到ie中用户的cookie然后来工作,这样我程序里就不需要重新通过idhttp来登录网站了;不知道有没有可能实现?
最好能有点调试代码或者思路,谢谢了!//简单点来说,就是使用Cookies登陆网页;吐舌头

 

答:

我发现一个问题,就是当ie登录记住cookie后,ie再次登录可以直接访问,用webbrowser也可以直接访问,但是当用idhttp     get的时候,出现的就是需要登录的界面,为什么idhttp不能继承ie的cookie,而webbrowser可以呢?

 

uses
    ...,   WinInet;


function   CanGetIECookie(const   URL:   string;   var   Cookie:   string):   boolean;
var
    lpvBuffer:   array[0..1000]   of   byte;
    lpdwBufferLength:   cardinal;
begin
    lpdwBufferLength   :=   sizeof(lpvBuffer);
    result   :=   InternetGetCookie(PChar(URL),   nil,   @lpvBuffer,   lpdwBufferLength);
    if   result   then
        Cookie   :=   pchar(@lpvBuffer);
end;


if   CanGetIECookie(url,   str)   then
begin
    CookieStr   :=   'Cookie:   '   +   str;
    idHttp1.Request.CustomHeaders.Text   :=   CookieStr;
    Memo1.Lines.Text   :=   IdHTTP1.Get(WebSite);
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值