Delphi Cookie獲取及使用


以下方法為網上搜集整理,留做備份,隨時更新

 

一:通過URL獲取

CanGetIECookie(URL,g_cookie);

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;

 

二:從響應報文中獲取

idc := TIdHTTP.Create(nil);

for i := 0 to idc.Response.RawHeaders.Count - 1 do
      begin
        tmp := Idc.Response.RawHeaders[i];
        if pos('cookie:', LowerCase(tmp)) = 0 then
          Continue;

        tmp := Trim(Copy(tmp, Pos('Cookie:', tmp) + Length('Cookie:'), Length(tmp)));

        if cookie = '' then
          cookie := tmp
        else
          cookie := cookie + '; ' + tmp;
      end;

 

三:通過TWebBrowser 控件獲取

WB_logon: TWebBrowser

cookie := WB_logon.OleObject.document.cookie;

 

將cookie添加至請求中

var

  idc : TIDHTTP;

begin

  idc := TIdHTTP.Create(nil);

  idc.Request.CustomHeaders.Add('cookie:' + g_cookie);

end;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM