2012-08-05 4 views
0

내 프로그램에서 두 개의 함수를 호출합니다. 첫 번째는 로그인이고, 두 번째는 데이터를 구문 분석하는 함수입니다. 이다NSURLRequest에서 쿠키를 설정할 수 없습니다.

userid=1; expires=Mon, 05-Aug-2013 19:22:18 GMT; path=/; domain=www.mydomain.com 

"사용자 ID = 1":

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    [receivedData setLength:0]; 
    if(connection == conn_login){ 
     NSHTTPURLResponse *HTTPResponse = (NSHTTPURLResponse *)response; 
     NSDictionary *fields = [HTTPResponse allHeaderFields]; 
     cookie = [fields valueForKey:@"Set-Cookie"]; 
    } 
} 

모든 것이 괜찮습니다, 내가 쿠키를 인쇄 할 때입니다 :

은 로그인 기능 나는이 내 쿠키를 저장, 세션을 저장하려면 내가 관심있는 부분

그래서 데이터를 구문 분석하는 NSURLRequest에서 저장된 쿠키를 설정하는 방법은 다음과 같습니다.

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL 
URLWithString:@"http://www.mydomain.com/?getList"]]; 
[request setValue:cookie forHTTPHeaderField:@"Set-Cookie"]; 

하지만 작동하지 않습니다. 나의 이전 쿠키는 설정되지 않았고, 심지어 두 번째 요청의 전체 헤더를 인쇄하더라도 "userid"또는 그 무엇도 존재하지 않습니다.

내가 뭘 잘못하고 있니? 다들 감사 해요.

답변

0

내가 알려 당신이 의심이있는 경우 ...이 코드 줄을 사용한다고 생각

NSArray *cookies1 = [[ NSHTTPCookieStorage sharedHTTPCookieStorage] cookies ]; 

NSDictionary *cookieHeaders; 

cookieHeaders = [ NSHTTPCookie requestHeaderFieldsWithCookies: cookies1]; 

[request setValue: [cookieHeaders objectForKey: @"Cookie" ]forHTTPHeaderField:@"Cookie" ]; 
관련 문제