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

解决方案 »

  1.   

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

  2.   

    http://www.delphibbs.com/delphibbs/dispq.asp?lid=2071973
      

  3.   

    谢谢zhlwyy的回复,不过你给我的贴子我看过的,他那个是通过post用户名和密码,等于从头开始登录了一次,那肯定可以了,我现在想要的是不需要频繁的登录,因为我的ie的cookie可以保存好几个月的,但是程序确需要每天登录!
      

  4.   

    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;