3

我想使用以下代码登录一个网站,该网站以下列方式返回其 cookie 信息:

Set-Cookie: 19231234
Set-Cookie: u2am1342340
Set-Cookie: owwjera

我正在使用以下代码登录该站点,但最后的打印语句没有输出任何有关“set-cookie”的信息。在 Snow leopard 上,该库似乎会自动获取该站点的 cookie,并且稍后发出的连接设置为正确的“cookie”标头。但是在 leopard 上,它不是这样工作的,那么这是“记住某些根 url 的 cookie”行为的触发器吗?

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:uurl]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"keep-live" forHTTPHeaderField:@"Connection"];
[request setValue:@"300" forHTTPHeaderField:@"Keep-Alive"];
[request setHTTPShouldHandleCookies:YES];

[request setHTTPBody:postData];
[request setTimeoutInterval:10.0];

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

NSLog(@"response dictionary %@",[response allHeaderFields]);
4

1 回答 1

6
[request setHTTPShouldHandleCookies:YES];

此行会导致系统为您处理 cookie。

于 2010-03-23T14:13:35.047 回答