private AutoCSer.Net.Http.Cookie getSessionCookie() { AutoCSer.Net.Http.Cookie cookie = HttpResponse.GetCookie(sessionName); if (cookie == null) { HttpResponse.AppendCookie(cookie = AutoCSer.Net.Http.Cookie.YieldPool.Default.Pop() ?? new AutoCSer.Net.Http.Cookie()); cookie.Name = sessionName; } return(cookie); }
/// <summary> /// 设置 Cookie /// </summary> /// <param name="name">名称</param> /// <param name="value">值</param> public void SetCookie(byte[] name, byte[] value) { if (name != null && name.Length != 0) { AutoCSer.Net.Http.Cookie cookie = HttpResponse.GetCookie(name); if (cookie == null) { HttpResponse.AppendCookie(cookie = AutoCSer.Net.Http.Cookie.YieldPool.Default.Pop() ?? new AutoCSer.Net.Http.Cookie()); cookie.Name = name; } cookie.Set(value ?? NullValue <byte> .Array, DateTime.MinValue, Socket.HttpHeader.Host, AutoCSer.Net.Http.Cookie.DefaultPath, false, false); } }
/// <summary> /// 删除 Cookie /// </summary> /// <param name="name">名称</param> public void RemoveCookie(byte[] name) { if (name != null && name.Length != 0) { AutoCSer.Net.Http.Cookie cookie = HttpResponse.GetCookie(name); if (cookie == null) { HttpResponse.AppendCookie(cookie = AutoCSer.Net.Http.Cookie.YieldPool.Default.Pop() ?? new AutoCSer.Net.Http.Cookie()); cookie.Name = name; } cookie.Set(EmptyArray <byte> .Array, AutoCSer.Date.BaseTime, Socket.HttpHeader.Host, AutoCSer.Net.Http.Cookie.DefaultPath, false, false); } }
/// <summary> /// 删除 Cookie /// </summary> /// <param name="name">名称</param> public void RemoveCookie(string name) { if (!string.IsNullOrEmpty(name)) { byte[] nameData = name.getBytes(); AutoCSer.Net.Http.Cookie cookie = HttpResponse.GetCookie(nameData); if (cookie == null) { HttpResponse.AppendCookie(cookie = AutoCSer.Net.Http.Cookie.YieldPool.Default.Pop() ?? new AutoCSer.Net.Http.Cookie()); cookie.Name = nameData; } cookie.Set(NullValue <byte> .Array, Pub.MinTime, Socket.HttpHeader.Host, AutoCSer.Net.Http.Cookie.DefaultPath, false, false); } }
/// <summary> /// 设置 Cookie /// </summary> /// <param name="name">名称</param> /// <param name="value">值</param> /// <param name="domain">有效域名</param> /// <param name="path">有效路径</param> /// <param name="expires">超时时间</param> /// <param name="isSecure">是否安全</param> /// <param name="isHttpOnly">是否 HTTP Only</param> public void SetCookie(byte[] name, byte[] value, DateTime expires, byte[] domain = null, byte[] path = null, bool isSecure = false, bool isHttpOnly = false) { if (name != null && name.Length != 0) { AutoCSer.Net.Http.Cookie cookie = HttpResponse.GetCookie(name); if (cookie == null) { HttpResponse.AppendCookie(cookie = AutoCSer.Net.Http.Cookie.YieldPool.Default.Pop() ?? new AutoCSer.Net.Http.Cookie()); cookie.Name = name; } if (domain == null) { cookie.Set(value ?? NullValue <byte> .Array, expires, Socket.HttpHeader.Host, path, isSecure, isHttpOnly); } else { cookie.Set(value ?? NullValue <byte> .Array, expires, domain, path, isSecure, isHttpOnly); } } }