不能通过 NSURLConnection sendSynchronousRequest POST 特殊字符

Can not POST special characters via NSURLConnection sendSynchronousRequest

这是我的代码:

NSURL *s =[self getAbsoluteURL:url];
NSMutableURLRequest *requestURL = [NSMutableURLRequest requestWithURL:s cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:120.00];
[requestURL setHTTPMethod:@"POST"];
NSLog(@"%@",parameter);
NSError *error = [[NSError alloc] init];
if ([parameter isKindOfClass : [NSString class]]) {
   [requestURL setHTTPBody:[parameter dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]];
}

NSHTTPURLResponse *response;
NSError *error1;
NSData *apiData = [NSURLConnection sendSynchronousRequest:requestURL returningResponse:&response error:&error1];

它工作正常,但是当我 post 一些特殊字符如 '&' 时,它没有向服务器发送任何内容,它 post 一个空白数据。

案例: 实际参数:“&&&” 发布:“”

谁能告诉我如何解决这个问题?

我只需要 post 通过 URL 编码的数据。对于编码,我使用了这个:

-(NSString *)encodeData : (NSString *)string {
    return (NSString *)
    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
                                            (CFStringRef) string,
                                            NULL,
                                            (CFStringRef) @"!*'();:@&=+$,/?%#[]",
                                            kCFStringEncodingUTF8));
}

现在数据已按我的意愿 post 编辑。 :)