@implementation NetWorkUtil +(id) postRequestWithUrl:(NSString *) url andPostString:(NSString *) postString{ return [NetWorkUtil postRequestWithUrl:url andPostData:[NSData dataWithBytes:[postString UTF8String] length:strlen([postString UTF8String])] // !!! Do Not Use postString.length ]; } +(id) postRequestWithUrl:(NSString *)url andPostData:(NSData *)postData{ [url retain]; [postData retain]; NSMutableURLRequest * postRequest = [NSMutableURLRequest requestWithURL:([NSURL URLWithString:url])]; [postRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-Type"]; [postRequest setHTTPMethod:@"POST"]; [postRequest setHTTPBody:postData]; [url release]; [postData release]; return postRequest; } @end
-(void) sendingPost{ NSMutableURLRequest * postRequest = [NetWorkUtil postRequestWithUrl:mUrl andPostString:mPostData ]; [postRequest retain]; NSOperationQueue * queue = [NSOperationQueue new]; [NSURLConnection sendAsynchronousRequest:postRequest queue:queue completionHandler:^(NSURLResponse * response, NSData * data, NSError * error) { //handle error if exist if (error != nil ) { [self onError:error]; } else if(data != nil){ [self handleData:data]; }else { [self onError:error]; } }]; [queue release]; [postRequest release]; }