J'utilise OAuth/xAuth dans une application iPhone pour iPhone et je rencontre un problème avec les mots de passe contenant des caractères spéciaux. Par exemple "mot de passe &". Tout d'abord, je suis en train de convertir le & en% 26 en faisant:Problème avec OADataFetcher sur iPhone lors de l'utilisation de chaînes codées en URL
NSString *encodedPassword = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)thePassword,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
Ce code il bien en « mot de passe% 26 ». Je suis alors mise en place en tant que paramètre d'un OAMutableURLRequest:
[request setParameters:[NSArray arrayWithObjects:
[OARequestParameter requestParameterWithName:@"x_auth_mode" value:@"client_auth"],
[OARequestParameter requestParameterWithName:@"x_auth_username" value:encodedUsername],
[OARequestParameter requestParameterWithName:@"x_auth_password" value:encodedPassword],
nil]];
Lors de l'envoi de la demande à l'aide d'un OADataFetcher, je reçois un NSUrlError:
Error Domain=NSURLErrorDomain Code=-1012 UserInfo=0x4823e00 "Operation could not be completed. (NSURLErrorDomain error -1012.)"
ce que je fais mal ici? Si je laisse le & dans le mot de passe, il bloque mon code (le tableau de bord setParamaters s'arrête). Quelqu'un at-il rencontré cela avant d'utiliser OAuth?
Si j'ai un mot de passe alphanumérique tout fonctionne bien ... Merci pour tout conseil!