NSHTTPCookie Class Reference
| Inherits from | |
| Conforms to | |
| Framework | /System/Library/Frameworks/Foundation.framework |
| Availability | Available in OS X v10.2 with Safari 1.0 installed. Available in OS X v10.2.7 and later. |
| Companion guide | |
| Declared in | NSHTTPCookie.h |
Overview
An NSHTTPCookie object represents an HTTP cookie. It’s an immutable object initialized from a dictionary containing the cookie attributes.
Two versions of cookies are supported:
Version 0: This version refers to “traditional” or “old-style” cookies, the original cookie format defined by Netscape. The majority of cookies encountered are in this format.
Version 1: This version refers to cookies as defined in RFC 2965, HTTP State Management Mechanism.
Adopted Protocols
Class Methods
cookiesWithResponseHeaderFields:forURL:
Returns an array of NSHTTPCookie objects corresponding to the provided response header fields for the provided URL.
Parameters
- headerFields
The header fields used to create the
NSHTTPCookieobjects.- theURL
The URL associated with the created cookies.
Return Value
The array of created cookies.
Discussion
This method ignores irrelevant header fields in headerFields, allowing dictionaries to contain additional data.
If headerFields does not specify a domain for a given cookie, the cookie is created with a default domain value of theURL.
If headerFields does not specify a path for a given cookie, the cookie is created with a default path value of “/”.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hcookieWithProperties:
Creates and initializes an NSHTTPCookie object using the provided properties.
Parameters
- properties
The properties for the new cookie object, expressed as key value pairs.
Return Value
The newly created cookie object. Returns nil if the provided properties are invalid.
Discussion
See “Constants” for more information on the available header field constants and the constraints imposed on the values in the dictionary.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
See Also
Declared In
NSHTTPCookie.hrequestHeaderFieldsWithCookies:
Returns a dictionary of header fields corresponding to a provided array of cookies.
Parameters
- cookies
The cookies from which the header fields are created.
Return Value
The dictionary of header fields created from the provided cookies. This dictionary can be used to add cookies to a request.
Discussion
See “Constants” for details on the header field keys and values in the returned dictionary.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hInstance Methods
comment
Returns the receiver's comment string.
Return Value
The receiver’s comment string or nil if the cookie has no comment. This string is suitable for presentation to the user, explaining the contents and purpose of this cookie.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hcommentURL
Returns the receiver’s comment URL.
Return Value
The receiver’s comment URL or nil if the cookie has none. This value specifies a URL which is suitable for presentation to the user as a link for further information about this cookie.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hdomain
Returns the domain of the receiver’s cookie.
Return Value
The domain of the receiver’s cookie.
Discussion
If the domain does not start with a dot, then the cookie is only sent to the exact host specified by the domain. If the domain does start with a dot, then the cookie is sent to other hosts in that domain as well, subject to certain restrictions. See RFC 2965 for more detail.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hexpiresDate
Returns the receiver’s expiration date.
Return Value
The receiver’s expiration date, or nil if there is no specific expiration date such as in the case of “session-only” cookies. The expiration date is the date when the cookie should be deleted.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hinitWithProperties:
Returns an initialized NSHTTPCookie object using the provided properties.
Parameters
- properties
The properties for the new cookie object, expressed as key value pairs.
Return Value
The initialized cookie object. Returns nil if the provided properties are invalid.
Discussion
See “Constants” for more information on the available header field constants and the constraints imposed on the values in the dictionary.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
See Also
Declared In
NSHTTPCookie.hisHTTPOnly
Returns whether the receiver should only be sent to HTTP servers per RFC 2965.
Return Value
Returns YES if this cookie should only be sent via HTTP headers, NO otherwise.
Discussion
Cookies may be marked as HTTP only by a server (or by a javascript). Cookies marked as such must only be sent via HTTP Headers in HTTP requests for URL's that match both the path and domain of the respective cookies.
Availability
- Available in OS X v10.6 and later.
Declared In
NSHTTPCookie.hisSecure
Returns whether his cookie should only be sent over secure channels.
Return Value
YES if this cookie should only be sent over secure channels, otherwise NO.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hisSessionOnly
Returns whether the receiver should be discarded at the end of the session (regardless of expiration date).
Return Value
YES if the receiver should be discarded at the end of the session (regardless of expiration date), otherwise NO.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hname
Returns the receiver’s name.
Return Value
The receiver's name.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hpath
Returns the receiver’s path.
Return Value
The receiver's path.
Discussion
The cookie will be sent with requests for this path in the cookie's domain, and all paths that have this prefix. A path of “/” means the cookie will be sent for all URLs in the domain.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hportList
Returns the receiver's port list.
Return Value
The list of ports for the cookie, returned as an array of NSNumber objects containing integers. If the cookie has no port list this method returns nil and the cookie will be sent to any port. Otherwise, the cookie is only sent to ports specified in the port list.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hproperties
Returns the receiver’s cookie properties.
Return Value
A dictionary representation of the receiver’s cookie properties.
Discussion
This dictionary can be used with initWithProperties: or cookieWithProperties: to create an equivalent NSHTTPCookie object.
See initWithProperties: for more information on the constraints imposed on the properties dictionary.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hvalue
Returns the receiver’s value.
Return Value
The receiver's value.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hversion
Returns the receiver’s version.
Return Value
The receiver's version. Version 0 maps to “old-style” Netscape cookies. Version 1 maps to RFC 2965 cookies.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.hConstants
HTTP Cookie Property Keys
These constants define the supported keys in a dictionary containing cookie attributes.
extern NSString *NSHTTPCookieComment; extern NSString *NSHTTPCookieCommentURL; extern NSString *NSHTTPCookieDiscard; extern NSString *NSHTTPCookieDomain; extern NSString *NSHTTPCookieExpires; extern NSString *NSHTTPCookieMaximumAge; extern NSString *NSHTTPCookieName; extern NSString *NSHTTPCookieOriginURL; extern NSString *NSHTTPCookiePath; extern NSString *NSHTTPCookiePort; extern NSString *NSHTTPCookieSecure; extern NSString *NSHTTPCookieValue; extern NSString *NSHTTPCookieVersion;
Constants
NSHTTPCookieCommentAn
NSStringobject containing the comment for the cookie.Only valid for Version 1 cookies and later. This header field is optional.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieCommentURLAn
NSURLobject orNSStringobject containing the comment URL for the cookie.Only valid for Version 1 cookies or later. This header field is optional.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieDiscardAn
NSStringobject stating whether the cookie should be discarded at the end of the session.String value must be either “TRUE” or “FALSE”. This header field is optional. Default is “FALSE”, unless this is cookie is version 1 or greater and a value for
NSHTTPCookieMaximumAgeis not specified, in which case it is assumed “TRUE”.Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieDomainAn
NSStringobject containing the domain for the cookie.A value must be specified for either
NSHTTPCookieDomainorNSHTTPCookieOriginURL. If this header field is missing the domain is inferred from the value forNSHTTPCookieOriginURL.Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieExpiresAn
NSDateobject orNSStringobject specifying the expiration date for the cookie.This header field is only used for Version 0 cookies. This header field is optional.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieMaximumAgeAn
NSStringobject containing an integer value stating how long in seconds the cookie should be kept, at most.Only valid for Version 1 cookies and later. Default is “0”. This field is optional.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieNameAn
NSStringobject containing the name of the cookie. This field is required.Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieOriginURLAn NSURL or
NSStringobject containing the URL that set this cookie.A value must be specified for either
NSHTTPCookieDomainorNSHTTPCookieOriginURL.Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookiePathAn
NSStringobject containing the path for the cookie. This field is required if you are using theNSHTTPCookieDomainkey instead of theNSHTTPCookieOriginURLkey.If you are using the
NSHTTPCookieOriginURLkey, the path is inferred if it is not provided. The default value is “/”.Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookiePortAn
NSStringobject containing comma-separated integer values specifying the ports for the cookie.Only valid for Version 1 cookies or later. The default value is an empty string (““). This header field is optional.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieSecureAn
NSStringobject indicating that the cookie should be transmitted only over secure channels.Providing any value for this key indicates that the cookie should remain secure.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieValueAn
NSStringobject containing the value of the cookie.This header field is required.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.NSHTTPCookieVersionAn
NSStringobject that specifies the version of the cookie.Must be either “0” or “1”. The default is “0”. This header field is optional.
Available in OS X v10.2 and later.
Declared in
NSHTTPCookie.h.
Availability
- Available in OS X v10.2 with Safari 1.0 installed.
- Available in OS X v10.2.7 and later.
Declared In
NSHTTPCookie.h© 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-10-15)