ログイン、パスワード、Cookie コンテナーを使用して安全な https Web サービスを呼び出すには、Objective C でコードを編集する必要があります。
実際のコード:
NSString *plistInfosServeurPath = [[NSBundle mainBundle] pathForResource:@"InfosServeur" ofType:@"plist"];
NSDictionary *infosServeurDictionary = [NSDictionary dictionaryWithContentsOfFile:plistInfosServeurPath];
NSString *urlServeur = [infosServeurDictionary objectForKey:@"serveur_url"];
/* ADDED BY ME */
/* ------- */
NSURLCredential *newcredential = [NSURLCredential credentialWithUser:@"plop" password:@"Plop" persistence:NSURLCredentialPersistenceNone];
NSURLProtectionSpace *space = [[NSURLProtectionSpace alloc] initWithHost:@"https://plop.com"
port:443
protocol:@"https"
realm:nil
authenticationMethod:NSURLAuthenticationMethodHTTPBasic];
[[NSURLCredentialStorage sharedCredentialStorage] setCredential:newcredential
forProtectionSpace:space];
/* ------- */
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:[NSString stringWithFormat:@"%@/plop.svc/plop/%@", urlServeur, _gare.code]]];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *result, NSError *error){
if (result)
{
NSArray *trains = [[CJSONDeserializer deserializer] deserializeAsArray:result error:&error];
}
if (erro) {
NSLog(@"connexion NOK");
NSLog(@"ERROR : %@", error);
}
}
];
コードは http の Web サービスで機能しますが、https を使用して資格情報を追加しようとしましたが、成功せず、Cookie コンテナーを追加する方法が見つかりません。