Sample code for 30+ languages & platforms
Objective-C

HTTP POST (Duplicate Simple HTML Form POST)

Demonstrates how to duplicate a simple HTML form POST.

Chilkat Objective-C Downloads

Objective-C
#import <CkoHttpRequest.h>
#import <CkoHttp.h>
#import <NSString.h>
#import <CkoHttpResponse.h>

BOOL success = NO;

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

CkoHttpRequest *req = [[CkoHttpRequest alloc] init];
CkoHttp *http = [[CkoHttp alloc] init];

//  This example simulates this FORM:
//  <form action="echoPost.asp" method="post">
//  First name: <input type="text" name="firstName"><br />
//  Last name: <input type="text" name="lastName"><br />
//  <input type="submit" value="Submit">
//  </form>
//  The online FORM is found at this URL:
//  https://www.chilkatsoft.com/simpleForm.html

//  Build an HTTP POST Request:
req.HttpVerb = @"POST";

//  The FORM target is http://www.chilkatsoft.com/processPost.asp
//  An easy way of filling out most of the HTTP request object
//  is to call SetFromUrl:
[req SetFromUrl: @"https://www.chilkatsoft.com/echoPost.asp"];

//  Send form params using application/x-www-form-urlencoded
req.ContentType = @"application/x-www-form-urlencoded";

//  The only remaining task is to add the params to the 
//  HTTP request object:
[req AddParam: @"firstName" value: @"Matt"];
[req AddParam: @"lastName" value: @"Jones"];

//  Send the HTTP POST and get the response.
//  The POST is being sent to chilkatsoft.com, on port 443 (using TLS)
NSString *domain = @"chilkatsoft.com";
int port = 443;
BOOL tls = YES;

//  The HTTP POST is sent here:
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpSReq: domain port: [NSNumber numberWithInt: port] ssl: tls request: req response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

//  Display the HTML source of the page returned.
NSLog(@"%@",resp.BodyStr);