无法在NSURLRequest中设置cookie

无法在NSURLRequest中设置cookie

问题描述:

在我的程序中,我调用了两个函数,第一个是登录,第二个是解析数据的函数。无法在NSURLRequest中设置cookie

存储会话,与登录功能我救了我的饼干与此:

- (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"]; 
    } 
} 

一切都很好,当我打印的cookie,它是:

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

“用户ID = 1”我感兴趣的是

所以在下面的NSURLRequest里我解析数据的时候,我喜欢这样设置保存的cookie:

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

但它不起作用。我以前的cookie没有设置,即使打印第二个请求的完整标题,也没有“用户标识”或任何其他标识。

我在做什么错?谢谢你们。

我认为你必须使用这行代码......如果你有疑问让我知道

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

NSDictionary *cookieHeaders; 

cookieHeaders = [ NSHTTPCookie requestHeaderFieldsWithCookies: cookies1]; 

[request setValue: [cookieHeaders objectForKey: @"Cookie" ]forHTTPHeaderField:@"Cookie" ];