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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | /// <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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?