NSString* urlEncode(NSString * url) { string inStr = StringFromNSString(url); CFStringRef inStringRef = CFStringCreateWithCString( kCFAllocatorDefault, inStr.c_str(), kCFStringEncodingUTF8 ); NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)inStringRef,NULL,(CFStringRef)@"!*’();:@&=+$,/?%#[]",kCFStringEncodingUTF8 ); return encodedString; }

An Error Was Encountered

The URI you submitted has disallowed characters.

terminate called after throwing an instance of 'std::invalid_argument' what(): -(NSString*) urlEncode { NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes( NULL, (CFStringRef)self, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8 ); return [encodedString autorelease]; } - (NSString *)encodedURLParameterString { NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR(":/=,!$& '()*+;[]@#?"), kCFStringEncodingUTF8); return [result autorelease]; } scheme://host/path?=&= NSString *encodedstring = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef)yoururlstring, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8);