| Inherits from | |
| Conforms to | |
| Framework | /System/Library/Frameworks/Foundation.framework |
| Availability | Available in Mac OS X v10.2 with Safari 1.0 installed. Available in Mac OS X v10.2.7 and later. |
| Companion guide | |
| Declared in | NSHTTPCookie.h |
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.
Returns an array of NSHTTPCookie objects corresponding to the provided response header fields for the provided URL.
+ (NSArray *)cookiesWithResponseHeaderFields:(NSDictionary *)headerFields forURL:(NSURL *)theURL
The header fields used to create the NSHTTPCookie objects.
The URL associated with the created cookies.
The array of created cookies.
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 “/”.
NSHTTPCookie.hCreates and initializes an NSHTTPCookie object using the provided properties.
+ (id)cookieWithProperties:(NSDictionary *)properties
The properties for the new cookie object, expressed as key value pairs.
The newly created cookie object. Returns nil if the provided properties are invalid.
See “Constants” for more information on the available header field constants and the constraints imposed on the values in the dictionary.
NSHTTPCookie.hReturns a dictionary of header fields corresponding to a provided array of cookies.
+ (NSDictionary *)requestHeaderFieldsWithCookies:(NSArray *)cookies
The cookies from which the header fields are created.
The dictionary of header fields created from the provided cookies. This dictionary can be used to add cookies to a request.
See “Constants” for details on the header field keys and values in the returned dictionary.
NSHTTPCookie.hReturns the receiver's comment string.
- (NSString *)comment
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.
NSHTTPCookie.hReturns the receiver’s comment URL.
- (NSURL *)commentURL
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.
NSHTTPCookie.hReturns the domain of the receiver’s cookie.
- (NSString *)domain
The domain of the receiver’s cookie.
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.
NSHTTPCookie.hReturns the receiver’s expiration date.
- (NSDate *)expiresDate
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.
NSHTTPCookie.hReturns an initialized NSHTTPCookie object using the provided properties.
- (id)initWithProperties:(NSDictionary *)properties
The properties for the new cookie object, expressed as key value pairs.
The initialized cookie object. Returns nil if the provided properties are invalid.
See “Constants” for more information on the available header field constants and the constraints imposed on the values in the dictionary.
NSHTTPCookie.hReturns whether the receiver should only be sent to HTTP servers per RFC 2965.
- (BOOL)isHTTPOnly
Returns YES if this cookie should only be sent via HTTP headers, NO otherwise.
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.
NSHTTPCookie.hReturns whether his cookie should only be sent over secure channels.
- (BOOL)isSecure
YES if this cookie should only be sent over secure channels, otherwise NO.
NSHTTPCookie.hReturns whether the receiver should be discarded at the end of the session (regardless of expiration date).
- (BOOL)isSessionOnly
YES if the receiver should be discarded at the end of the session (regardless of expiration date), otherwise NO.
NSHTTPCookie.hReturns the receiver’s name.
- (NSString *)name
The receiver's name.
NSHTTPCookie.hReturns the receiver’s path.
- (NSString *)path
The receiver's path.
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.
NSHTTPCookie.hReturns the receiver's port list.
- (NSArray *)portList
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.
NSHTTPCookie.hReturns the receiver’s cookie properties.
- (NSDictionary *)properties
A dictionary representation of the receiver’s cookie properties.
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.
NSHTTPCookie.hReturns the receiver’s value.
- (NSString *)value
The receiver's value.
NSHTTPCookie.hReturns the receiver’s version.
- (NSUInteger)version
The receiver's version. Version 0 maps to “old-style” Netscape cookies. Version 1 maps to RFC 2965 cookies.
NSHTTPCookie.hThese 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;
NSHTTPCookieCommentAn NSString object containing the comment for the cookie.
Only valid for Version 1 cookies and later. This header field is optional.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieCommentURLAn NSURL object or NSString object containing the comment URL for the cookie.
Only valid for Version 1 cookies or later. This header field is optional.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieDiscardAn NSString object 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 NSHTTPCookieMaximumAge is not specified, in which case it is assumed “TRUE”.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieDomainAn NSString object containing the domain for the cookie.
A value must be specified for either NSHTTPCookieDomain or NSHTTPCookieOriginURL. If this header field is missing the domain is inferred from the value for NSHTTPCookieOriginURL.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieExpiresAn NSDate object or NSString object specifying the expiration date for the cookie.
This header field is only used for Version 0 cookies. This header field is optional.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieMaximumAgeAn NSString object 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 Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieNameAn NSString object containing the name of the cookie. This field is required.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieOriginURLAn NSURL or NSString object containing the URL that set this cookie.
A value must be specified for either NSHTTPCookieDomain or NSHTTPCookieOriginURL.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookiePathAn NSString object containing the path for the cookie. This field is required if you are using the NSHTTPCookieDomain key instead of the NSHTTPCookieOriginURL key.
If you are using the NSHTTPCookieOriginURL key, the path is inferred if it is not provided. The default value is “/”.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookiePortAn NSString object 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 Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieSecureAn NSString object 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 Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieValueAn NSString object containing the value of the cookie.
This header field is required.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookieVersionAn NSString object that specifies the version of the cookie.
Must be either “0” or “1”. The default is “0”. This header field is optional.
Available in Mac OS X v10.2 and later.
Declared in NSHTTPCookie.h.
NSHTTPCookie.hLast updated: 2009-10-15