Sample code for 30+ languages & platforms
Objective-C

Example: Http.DownloadAppend method

Demonstrates the DownloadAppend method.

Chilkat Objective-C Downloads

Objective-C
#import <NSString.h>
#import <CkoHttp.h>
#import <CkoStringBuilder.h>
#import <CkoFileAccess.h>

BOOL success = NO;

NSString *targetPath = @"c:/temp/qa_output/download.txt";

CkoHttp *http = [[CkoHttp alloc] init];
http.KeepResponseBody = YES;

//  Assume the target file in the local filesystem does not yet exist.
success = [http DownloadAppend: @"https://chilkatsoft.com/testData/helloWorld.txt" appendToPath: targetPath];
int statusCode = [http.LastStatus intValue];
if (statusCode == 0) {
    //  Unable to either send the request or get the response.
    NSLog(@"%@",http.LastErrorText);
    return;
}

//  Should be 200.
NSLog(@"%@%d",@"Response status code: ",statusCode);

//  Examine the contents of the file.
CkoStringBuilder *sb = [[CkoStringBuilder alloc] init];
[sb LoadFile: targetPath charset: @"utf-8"];
NSLog(@"%@",[sb GetAsString]);

//  Output: 
//  Response status code: 200
//  Hello World!

//  Download another text file and append to the target file.
success = [http DownloadAppend: @"https://chilkatsoft.com/testData/this_is_a_test.txt" appendToPath: targetPath];
statusCode = [http.LastStatus intValue];
if (statusCode == 0) {
    //  Unable to either send the request or get the response.
    NSLog(@"%@",http.LastErrorText);
    return;
}

//  Should be 200.
NSLog(@"%@%d",@"Response status code: ",statusCode);

//  Examine the contents of the file.
[sb LoadFile: targetPath charset: @"utf-8"];
NSLog(@"%@",[sb GetAsString]);

//  Output:
//  Response status code: 200
//  Hello World!This is a Test.

//  Delete the local target file.
CkoFileAccess *fac = [[CkoFileAccess alloc] init];
[fac FileDelete: targetPath];

//  Try to download a file that does not exist:
success = [http DownloadAppend: @"https://chilkatsoft.com/testData/does_not_exist.txt" appendToPath: targetPath];
statusCode = [http.LastStatus intValue];
if (statusCode == 0) {
    //  Unable to either send the request or get the response.
    NSLog(@"%@",http.LastErrorText);
}
else {
    //  We got a response, and we already know it wasn't a 200 success response.
    //  It should be a 404 not found.
    NSLog(@"%@%d",@"Response status code: ",statusCode);
    //  Examine the response body.
    NSLog(@"%@",@"Response body:");
    NSLog(@"%@",http.LastResponseBody);
}