2014-04-12 7 views
1

Xcode에 쿠키를 저장하는 방법을 궁금합니다. 한 웹 페이지에서 얻은 쿠키를 사용하여 다른 웹 페이지에 액세스하는 데 사용하고 싶습니다. 아래 코드를 사용하여 웹 사이트에 로그인하고 다른 연결을 만들 때이 연결에서 사용하는 쿠키를 저장하고 싶습니다.쿠키 저장 중?

NSString *post = [NSString stringWithFormat: @"some data", _username, _password ]; 
// NSLog(@"%@",post); 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 

NSURL *url=[NSURL URLWithString:@"url"]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:url]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

NSData *urlData; 
NSHTTPURLResponse *response; 
NSError *error; 
urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 

업데이트 : 아이폰 OS 개발자 덕분에 나는 쿠키를 얻을 수 있었다. 아래의 코드는 nslog에 대한 모든 쿠키 이름, 도메인, 값의 for 루프입니다. 현재 저장 한 모든 쿠키를 볼 수 있습니다.

NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; 
for (int i = 0; i < [cookies count]; i++) { 
    NSHTTPCookie *cookie = [cookies objectAtIndex:i]; 
    NSLog(@"Cookie Name: %@", [cookie name]); 
    NSLog(@"Cookie Domain: %@", [cookie domain]); 
    NSLog(@"Cookie Value: %@", [cookie value]); 
} 

답변

1

응답을 받으면 업데이트 된 쿠키는 NSHttpCookieStorage 톤으로 제공됩니다.

당신은 거기에 많은 쿠키를 가지고 왜 당신이

NSArray *cookies = [[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] 
+0

좋아 감사하여 액세스 할 수 있으며, 어떻게 내가 원하는 것을 얻을 수 있나요? –

+0

서버에 연결 한 후 쿠키가 새로운 쿠키로 업데이트됩니다. 적절한 쿠키를 얻으려면 쿠키를 반복해야합니다. – Rajesh