iphone nsurlconnection read cookies

user349302 picture user349302 · Jul 23, 2010 · Viewed 10.9k times · Source

I am using async NSURLConnection to connect to a web site from iPhone. Handle didReceiveResponse is activated on response and I am trying to get all cookies, by using allHeaderFields from NSHTTPURLResponse

I see many hreader, but no Set-Cookie - it looks like iphone simulator just ignores them... And I am sure cookies are present in response - network monitor shows they present

I do not use any http storage - all that I am trying to do is to print to log all header - and do not see cookies info

Does anybody know about this issue?

UPDATE I have made some research: if my website returns custom header, like "Custom-Header: value" - then this header is visible in java client, but is not in iphone...

thanks

Answer

Tal Bereznitskey picture Tal Bereznitskey · Jul 28, 2010

Try to look for it in the shared HTTP cookies storage:

for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
{
    NSLog(@"name: '%@'\n",   [cookie name]);
    NSLog(@"value: '%@'\n",  [cookie value]);
    NSLog(@"domain: '%@'\n", [cookie domain]);
    NSLog(@"path: '%@'\n",   [cookie path]);
}

or if working in Swift:

for cookie in HTTPCookieStorage.shared.cookies!
{
   NSLog("name: \(cookie.name)")
   NSLog("value: \(cookie.value)")
   NSLog("domain: \(cookie.name)")
   NSLog("path: \(cookie.path)")
}