Objective-C
Objective-C
Example: Http.DownloadAppend method
Demonstrates the DownloadAppend method.Chilkat Objective-C Downloads
#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);
}