• 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;

  • 相关阅读:
    codeforces242E XOR on Segment
    HDU3037 Saving Beans
    BZOJ1951 [Sdoi2010]古代猪文
    BZOJ3563 DZY Loves Chinese
    HDU1573 X问题
    POJ2891 Strange Way to Express Integers
    BZOJ2152 聪聪可可
    codeforces291E Tree-String Problem
    codeforces741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
    codeforces246E Blood Cousins Return
  • 原文地址:https://www.cnblogs.com/limingliyu/p/5652008.html
Copyright © 2020-2023  润新知