Sample code for 30+ languages & platforms
Objective-C

POST application/x-www-form-urlencoded using REST API

See more REST Examples

Demonstrates how to send a POST with query params (x-www-form-urlencoded) using the Chilkat REST object.

Chilkat Objective-C Downloads

Objective-C
#import <CkoRest.h>
#import <NSString.h>

BOOL success = NO;

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

CkoRest *rest = [[CkoRest alloc] init];

// This example will send to https://www.chilkatsoft.com/echoPost.asp

// Make the initial connection (without sending a request yet).
BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
success = [rest Connect: @"www.chilkatsoft.com" port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
if (success != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

// Provide query params.
[rest AddQueryParam: @"firstName" value: @"John"];
[rest AddQueryParam: @"lastName" value: @"Doe"];
[rest AddQueryParam: @"company" value: @"Bisco Bits Ltd."];

NSString *responseStr = [rest FullRequestFormUrlEncoded: @"POST" uriPath: @"/echoPost.asp"];
if (rest.LastMethodSuccess != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

// When successful, the response status code will equal 200.
if ([rest.ResponseStatusCode intValue] != 200) {
    // Examine the request/response to see what happened.
    NSLog(@"%@%d",@"response status code = ",[rest.ResponseStatusCode intValue]);
    NSLog(@"%@%@",@"response status text = ",rest.ResponseStatusText);
    NSLog(@"%@%@",@"response header: ",rest.ResponseHeader);
    NSLog(@"%@%@",@"response body (if any): ",responseStr);
    NSLog(@"%@",@"---");
    NSLog(@"%@%@",@"LastRequestStartLine: ",rest.LastRequestStartLine);
    NSLog(@"%@%@",@"LastRequestHeader: ",rest.LastRequestHeader);
    return;
}

NSLog(@"%@",responseStr);
NSLog(@"%@",@"Success.");