delphi nethttpclient操作cookie
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;
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/10892102.html