我在iPhone Twitter應用程序中使用OAuth/xAuth,並且存在包含特殊字符的密碼問題。例如「密碼&」。首先,我轉換成& 26%這樣做:使用URL編碼字符串時iPhone上的OADataFetcher問題
NSString *encodedPassword = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)thePassword,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
這個編碼它細到「密碼26%」。我然後將其設置爲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]];
在使用OADataFetcher發送請求,我收到一個NSUrlError:
Error Domain=NSURLErrorDomain Code=-1012 UserInfo=0x4823e00 "Operation could not be completed. (NSURLErrorDomain error -1012.)"
什麼我錯在這裏做什麼?如果我將密碼中的&離開,它會崩潰我的代碼(setParamaters陣列流失)。有沒有人在使用OAuth之前遇到過這個問題?
如果我有一個字母數字密碼,一切工作正常...感謝您的任何指導!