Bonjour à tous,

Il y a quelques jours, j’ai eu à joindre une api web-service protégée par une authentification Apache.
Pensant devoir utiliser AdvancedUrlConnection, j’ai passé pas mal de temps sur la doc Apple à ce propos. Finalement, la solution était bien pus simple.

NSString *username = @"mon_login";

NSString *password = @"mot_de_passe";

NSString *urlString = @"mon-domaine.com/mon_api/mon_service";

NSURL *url = [NSURL URLWithString: [NSString stringWithFormat:@"%@://%@:%@@%@", @"http", username, password, urlString]];

NSURLRequest *request = [[NSURLRequest alloc] initWithURL: url];

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

On notera qu’il faut remplacer les caractères spéciaux de username et password par leur équivalent en hexadécimal.
Vous trouverez ici un tableau de correspondance.

Au final, tout ceci n’est pas si complexe !