我写了一个 os x 应用程序,但我有一个问题。我的程序每次下载文件时都会登录该站点。它在登录时使用 safari cookie jar,因此在我的程序下载文件后,safari 在此站点上登录。我用于登录的代码是:
NSURL *loginUrl = [NSURL URLWithString:@"http://login.rutracker.org/forum/login.php"];
NSMutableURLRequest *loginRequest = [NSMutableURLRequest requestWithURL:loginUrl];
NSURLResponse *loginResponse;
NSError* loginError;
NSString *post = [NSString stringWithFormat:@"login_username=%@&login_password=%@&login=Вход", LoadPlist._username, LoadPlist._password];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
[loginRequest setValue:[NSString stringWithFormat:@"%ld",[postData length]] forHTTPHeaderField:@"Content-Length"];
[loginRequest setTimeoutInterval:15];
[loginRequest setHTTPBody:postData];
[loginRequest setHTTPMethod:@"POST"];
[loginRequest setHTTPShouldHandleCookies:YES];
[NSURLConnection sendSynchronousRequest:loginRequest returningResponse:&loginResponse error:&loginError];
问题是这个站点一次只允许一个cookie。因此,如果我先登录 Firefox,然后再登录 Safari,在 Firefox 中我就会退出。
因此,使用 Chrome 或 Firefox 作为默认浏览器的用户向我报告说,由于我的程序,他们已从该站点注销。
所以问题是“我可以在我的程序中使用 Firefox 或 Chrome cookie jars 而不是 Safari 吗?”
期待您的回复。