OS X アプリを作成しましたが、問題があります。私のプログラムは、ファイルをダウンロードするたびにサイトにログインします。ログイン時にサファリCookie jarを使用するため、プログラムがファイルをダウンロードした後、このサイトでサファリがログインされます。ログインに使用するコードは次のとおりです。
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];
問題は、このサイトが一度に 1 つの Cookie しか許可しないことです。そのため、Firefox にログインしてから Safari にログインすると、Firefox ではログアウトされます。
そのため、Chrome または Firefox をデフォルトのブラウザとして使用しているユーザーから、私のプログラムが原因でこのサイトからログアウトされたとの報告がありました。
問題は、「プログラムで Safari の代わりに Firefox または Chrome の Cookie jar を使用できますか?」ということです。
お返事をお待ちしております。