Sample code for 30+ languages & platforms
Objective-C

HTTPS PUT application/x-www-form-urlencoded

See more HTTP Examples

Demonstrates two ways of sending an HTTPS PUT application/x-www-form-urlencoded request.

Chilkat Objective-C Downloads

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

BOOL success = NO;

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

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

//  The 1st example sends a PUT with the query params in the URL.
//  The body of the request will be empty.
NSString *url = @"https://example.com/leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note";

//  Sends the following request:

//  PUT /leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note HTTP/1.1
//  Host: example.com
//  Accept: */*
//  Accept-Encoding: gzip
//  Content-Length: 0
//  

CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpStr: @"PUT" url: url bodyStr: @"" charset: @"" contentType: @"application/x-www-form-urlencoded" response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"Response status code = ",[resp.StatusCode intValue]);
NSLog(@"%@%@",@"Response body: ",resp.BodyStr);

//  -----------------------------------------------------------------------
//  Now we send the same request, but instead the query params are in the HTTP request body.

CkoHttpRequest *req = [[CkoHttpRequest alloc] init];
req.HttpVerb = @"PUT";
req.Path = @"/leads/12345678";
[req AddParam: @"uid" value: @"XXXX"];
[req AddParam: @"apikey" value: @"YYYYYY"];
[req AddParam: @"notes" value: @"Test_Note"];

//  Sends the following request:

//  POST /leads/12345678 HTTP/1.1
//  Host: example.com
//  Content-Type: application/x-www-form-urlencoded
//  Content-Length: 38
//  
//  uid=XXXX&apikey=YYYYYY&notes=Test_Notereq.HttpVerb = "POST";
req.HttpVerb = @"POST";
req.ContentType = @"application/x-www-form-urlencoded";

success = [http HttpReq: @"https://example.com/leads/12345678" request: req response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"Response status code = ",[resp.StatusCode intValue]);
NSLog(@"%@%@",@"Response body: ",resp.BodyStr);