在我的程序中,我调用了两个函数,第一个是登录,第二个是解析数据的函数。
为了存储会话,我使用登录功能保存我的 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
“userid=1”是我感兴趣的。
因此,在我解析数据的以下 NSURLRequest 中,我确实喜欢这样设置保存的 cookie:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL
URLWithString:@"http://www.mydomain.com/?getList"]];
[request setValue:cookie forHTTPHeaderField:@"Set-Cookie"];
但它不起作用。我以前的 cookie 没有设置,即使打印第二个请求的完整标头,也没有“用户 ID”或任何东西。
我究竟做错了什么?谢谢你们。