Sample code for 30+ languages & platforms
Objective-C Requires Chilkat v11.0.0+

Example: Http.HttpJson method - Send a POST with JSON Body

See more HTTP Examples

Demonstrates how to call the HttpJson method, which sends an HTTP POST with a JSON body. This example sends the following request:
POST /echo_request_body.asp HTTP/1.1
Host: chilkatsoft.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/json
Content-Length: 26

{"greeting":"Hello World"}

Also see: Chilkat Http Default and Auto-Filled Headers

Chilkat Objective-C Downloads

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

BOOL success = NO;

CkoHttp *http = [[CkoHttp alloc] init];
success = NO;

CkoJsonObject *json = [[CkoJsonObject alloc] init];

//  Build the following JSON:  {"greeting":"Hello World"}
[json UpdateString: @"greeting" value: @"Hello World"];

//  This URL echoes the contents of the request body, letting us view it.
NSString *url = @"https://chilkatsoft.com/echo_request_body.asp";

//  Send a POST with the JSON in the HTTP request body.
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpJson: @"POST" url: url json: json contentType: @"application/json" response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"Response Status Code: ",[resp.StatusCode intValue]);

//  Examine the request we sent.
//  The LastHeader property stores the HTTP request header of the most recent request sent,
//  and in this instance, the response body mirrors the request body.
NSLog(@"%@",http.LastHeader);
NSLog(@"%@",resp.BodyStr);

//  Output:

//  POST /echo_request_body.asp HTTP/1.1
//  Host: chilkatsoft.com
//  Accept: */*
//  Accept-Encoding: gzip
//  Content-Type: application/json
//  Content-Length: 26
//  
//  {"greeting":"Hello World"}