这是我的代码:
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];
它工作正常,但是当我发布一些像'&'这样的特殊字符时它不向服务器发送任何内容,它发布空白数据。
案例: 实际参数:“&&&” 发表:“”
有谁能告诉我如何解决这个问题?
答案 0 :(得分:0)
我只需通过URL编码发布数据。对于编码,我使用了这个:
-(NSString *)encodeData : (NSString *)string {
return (NSString *)
CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef) string,
NULL,
(CFStringRef) @"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
}
现在数据按我的意愿发布。 :)