java.lang.Object | |
↳ | java.net.HttpCookie |
An opaque key-value value pair held by an HTTP client to permit a stateful session with an HTTP server. This class parses cookie headers for all three commonly used HTTP cookie specifications:
Domain
, Expires
, Path
, and
Secure
. The version
of cookies in this
format is 0
.
There are no accessors for the Expires
attribute. When
parsed, expires attributes are assigned to the Max-Age
attribute as an offset from now
.
Expires
timestamp
with a Max-Age
duration and adds Comment
and Version
attributes. The version
of cookies in
this format is 1
.
Discard
, Port
, and CommentURL
attributes and renames the header from Set-Cookie
to Set-Cookie2
. The version
of cookies
in this format is 1
.
Support for the "HttpOnly" attribute specified in RFC 6265 is also included. RFC 6265 is intended to obsolete RFC 2965. Support for features from RFC 2965 that have been deprecated by RFC 6265 such as Cookie2, Set-Cookie2 headers and version information remain supported by this class.
This implementation silently discards unrecognized attributes.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates a new cookie.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates and returns a copy of this
Object . | |||||||||||
Returns true if
host matches the domain pattern domain . | |||||||||||
Returns true if
object is a cookie with the same domain, name and
path. | |||||||||||
Returns the
Comment attribute. | |||||||||||
Returns the value of
CommentURL attribute. | |||||||||||
Returns the
Discard attribute. | |||||||||||
Returns the
Domain attribute. | |||||||||||
Returns the
Max-Age attribute, in delta-seconds. | |||||||||||
Returns the name of this cookie.
| |||||||||||
Returns the
Path attribute. | |||||||||||
Returns the
Port attribute, usually containing comma-separated
port numbers. | |||||||||||
Returns the
Secure attribute. | |||||||||||
Returns the value of this cookie.
| |||||||||||
Returns the version of this cookie.
| |||||||||||
Returns true if this cookie's Max-Age is 0.
| |||||||||||
Returns the hash code of this HTTP cookie:
| |||||||||||
Constructs a cookie from a string.
| |||||||||||
Set the
Comment attribute of this cookie. | |||||||||||
Set the
CommentURL attribute of this cookie. | |||||||||||
Set the
Discard attribute of this cookie. | |||||||||||
Set the
Domain attribute of this cookie. | |||||||||||
Sets the
Max-Age attribute of this cookie. | |||||||||||
Set the
Path attribute of this cookie. | |||||||||||
Set the
Port attribute of this cookie. | |||||||||||
Sets the
Secure attribute of this cookie. | |||||||||||
Sets the opaque value of this cookie.
| |||||||||||
Sets the
Version attribute of the cookie. | |||||||||||
Returns a string representing this cookie in the format used by the
Cookie header line in an HTTP request as specified by RFC 2965 section 3.3.4. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Creates a new cookie.
name | a non-empty string that contains only printable ASCII, no
commas or semicolons, and is not prefixed with $ . May not be
an HTTP attribute name. |
---|---|
value | an opaque value from the HTTP server. |
IllegalArgumentException | if name is invalid.
|
---|
Creates and returns a copy of this Object
. The default
implementation returns a so-called "shallow" copy: It creates a new
instance of the same class and then copies the field values (including
object references) from this instance to the new instance. A "deep" copy,
in contrast, would also recursively clone nested objects. A subclass that
needs to implement this kind of cloning should call super.clone()
to create the new instance and then create deep copies of the nested,
mutable objects.
Returns true if host
matches the domain pattern domain
.
domainPattern | a host name (like android.com or localhost ), or a pattern to match subdomains of a domain name (like
.android.com ). A special case pattern is .local ,
which matches all hosts without a TLD (like localhost ). |
---|---|
host | the host name or IP address from an HTTP request. |
Returns true if object
is a cookie with the same domain, name and
path. Domain and name use case-insensitive comparison; path uses a
case-sensitive comparison.
object | the object to compare this instance with. |
---|
true
if the specified object is equal to this Object
; false
otherwise.Returns the Path
attribute. This cookie is visible to all
subpaths.
Returns the Port
attribute, usually containing comma-separated
port numbers. A null port indicates that the cookie may be sent to any
port. The empty string indicates that the cookie should only be sent to
the port of the originating request.
Returns the hash code of this HTTP cookie:
name.toLowerCase(Locale.US).hashCode()
+ (domain == null ? 0 : domain.toLowerCase(Locale.US).hashCode())
+ (path == null ? 0 : path.hashCode())
Constructs a cookie from a string. The string should comply with set-cookie or set-cookie2 header format as specified in RFC 2965. Since set-cookies2 syntax allows more than one cookie definitions in one header, the returned object is a list.
header | a set-cookie or set-cookie2 header. |
---|
IllegalArgumentException | if the string does not comply with cookie specification, or the cookie name contains illegal characters, or reserved tokens of cookie specification appears |
---|---|
NullPointerException | if header is null |
Set the Comment
attribute of this cookie.
Set the CommentURL
attribute of this cookie.
Set the Discard
attribute of this cookie.
Set the Domain
attribute of this cookie. HTTP clients send
cookies only to matching domains.
Sets the Max-Age
attribute of this cookie.
Set the Path
attribute of this cookie. HTTP clients send cookies
to this path and its subpaths.
Set the Port
attribute of this cookie.
Sets the Secure
attribute of this cookie.
Sets the Version
attribute of the cookie.
IllegalArgumentException | if v is neither 0 nor 1 |
---|
Returns a string representing this cookie in the format used by the
Cookie
header line in an HTTP request as specified by RFC 2965 section 3.3.4.
The resulting string does not include a "Cookie:" prefix or any version information.
The returned String
is not suitable for passing to parse(String)
: Several of
the attributes that would be needed to preserve all of the cookie's information are omitted.
The String is formatted for an HTTP request not an HTTP response.
The attributes included and the format depends on the cookie's version
: