Skip to main content

dose setHTTPBody need an encoding type



dose setHTTPBody need an encoding type if you are passing it a NSMutable data type though a NSData in the method parameter?





Basically I have a method which creates my http body packet along the lines of this







- (void) constructRequest

{

//Create final packet

NSMutableData * myConstructedMutableDataPacket = [[NSMutableData alloc] init];



[myConstructedMutableDataPacket appendData:Sig];

[myConstructedMutableDataPacket appendData:Ver];

//etc



//call connection method

[self [self VehicleSearchRequest:myConstructedMutableDataPacket];







} ];







}







then in the connection method is where i declare all my request stuff. Also I am passing the NSMutableData object myConstructedMutableDataPacket over to the NSData parameter of my connection class as listed below.







- (IBAction)VehicleSearchRequest:(NSData *)postBodyData

{

//all my connection crap



NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0]; //if request dose not finish happen within 60 second timeout.



[request setHTTPMethod: @"POST"];

[request setValue:postLength forHTTPHeaderField:@"Content-Length"];

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];

[request setHTTPBody:postBodyData]; //Is this okay without encoding type?





NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];







what I would like to know is if my [request setHTTPBody:postBodyData]; is okay because im passing it an NSData type from the parameter of the method itself..





this is how I have seen it declared in many places.







urlRequest setHTTPBody:[httpBodyString dataUsingEncoding:NSISOLatin1StringEncoding]];




Comments

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?