• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphinethttpclient操作cookie

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

delphi nethttpclient操作cookie

uses System.Net.HttpClientComponent,System.Net.HttpClient,

//取 cookei ///
  for var TCooki in nethttp.CookieManager.Cookies do  //    nethttp: TNetHTTPClient;
  begin

    if str_str(uip, StrRight(TCooki.Domain, Length(TCooki.Domain) - 1)) then
      edit1.Text := TCooki.Value;
     //memo1.Lines.Add(TCooki.Path + ' | ' + TCooki.Domain + ' | ' + TCooki.Name + ' | ' + TCooki.Value);
  end;
   

//添加cookie 
  var a := TURI.Create('http://xxxxxx/main.action');
  a.path := '/';
  var cookie := System.Net.HttpClient.tcookie.Create('JSESSIONID=' + Edit1.text + ';', aaaa); // 'JSESSIONID=A17E7980BA97270045B829D8CC0EF060;'
  nhttp := TNetHTTPClient.Create(nil);
  nhttp.CookieManager.Clear;  //清除cookie 
  nhttp.CookieManager.AddServerCookie(cookie, a);




//最简单取得cookie后 克隆控件属性
   myHttp.Assign(nHttp);   //直接克隆属性  myHttp 复制 nHttp  ,释放nHttp不会影响myHttp
   

 

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.Net.URLClient,
  System.Net.HttpClient, System.Net.HttpClientComponent;

type
  TForm1 = class(TForm)
    NetHTTPClient1: TNetHTTPClient;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  cookie: TCookie;
begin
  for cookie in NetHTTPClient1.CookieManager.Cookies do
  begin if (cookie.Domain = 'www.server.com') and (cookie.Name = 'test') then
  begin
  //
  end;
  end;
end;

end.

  TCookie:

  /// <summary>Cookie record.</summary>
  TCookie = record
  private
    class function StrExpiresToDateTime(const AStrDate: string): TDateTime; static;
  public
    /// <summary>Cookie Name</summary>
    Name: string;
    /// <summary>Cookie Value</summary>
    Value: string;
    /// <summary>Cookie Expires. It's the date when the cookie will expire</summary>
    /// <remarks>When Expires is 0 means a session cookie.</remarks>
    Expires: TDateTime;
    /// <summary>Cookie Domain</summary>
    Domain: string;
    /// <summary>Cookie Path</summary>
    Path: string;
    /// <summary>Cookie Secure</summary>
    /// <remarks>If True then the cookie will be sent if https scheme is used</remarks>
    Secure: Boolean;
    /// <summary>Cookie HttpOnly</summary>
    /// <remarks>If True then the cookie will not be used in javascript, it's browser dependant.</remarks>
    HttpOnly: Boolean;

    /// <summary>Return the cookie as string to be send to the server</summary>
    function ToString: string;
    /// <summary>Return a TCookie parsing ACookieData based on the URI param</summary>
    class function Create(const ACookieData: string; const AURI: TURI): TCookie; static;
  end;

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi7中的Char和XE中的Char发布时间:2022-07-18
下一篇:
delphi中的各种文件类型介绍【转】发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap