今天在写代码时遇到一个问题,跟服务器请求唯一的注册码时,后需提交数据报错,后来发现是注册码中有特殊字符,虽然POST的数据已经转码过,但是仍然有问题
解决方式:
NSString *UrlEncodedString(NSString *sourceText)
{
NSString *result = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)sourceText ,NULL ,CFSTR("!*'();:@&=+$,/?%#[]") ,kCFStringEncodingUTF8));
return result;
}
调用方式:
[[DYSingleton sharedSingleton] setToken:UrlEncodedString([self.tokenArray objectAtIndex:0])];