I am writing an HTTP Post request, but for some reason the parameters are not being added correctly, and I can't for the life of me figure out what I'm doing wrong. Here's what I have:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; [request setHTTPShouldHandleCookies:NO]; [request setTimeoutInterval:30]; [request setHTTPMethod:@"POST"]; NSString *boundary = @"---------------------------14737809831466499882746641449"; // set Content-Type in HTTP header NSString *contentType = [NSString stringWithFormat:@"text; boundary=%@", boundary]; [request setValue:contentType forHTTPHeaderField: @"Content-Type"]; // post body NSMutableData *body = [NSMutableData data]; // Dictionary that holds post parameters. NSMutableDictionary* _params = [[NSMutableDictionary alloc] init]; [_params setObject:subject forKey:@"subject"]; [_params setObject:message forKey:@"message"]; [_params setObject:[[UIDevice currentDevice] systemName] forKey:@"device"]; // add params for (NSString *param in _params) { [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n", param] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"%@\r\n", [_params objectForKey:param]] dataUsingEncoding:NSUTF8StringEncoding]]; } // the server url NSURL* requestURL = [NSURL URLWithString:CIVCManifest.contactFeed]; [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; // setting the body of the post to the reqeust [request setHTTPBody:body]; // set the content-length NSString *postLength = [NSString stringWithFormat:@"%d", [body length]]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; // set URL [request setURL:requestURL]; NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; The request is getting through, however all the parameters are not being added properly. I had a Post script working that would upload a photo, and I copied and pasted most of it over to this one, but somehow this one is not working. Hopefully it's just a simple error I'm missing.