Sample code for 30+ languages & platforms
Perl

Example: Http.DownloadAppend method

Demonstrates the DownloadAppend method.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$success = 0;

$targetPath = "c:/temp/qa_output/download.txt";

$http = chilkat::CkHttp->new();
$http->put_KeepResponseBody(1);

# Assume the target file in the local filesystem does not yet exist.
$success = $http->DownloadAppend("https://chilkatsoft.com/testData/helloWorld.txt",$targetPath);
$statusCode = $http->get_LastStatus();
if ($statusCode == 0) {
    # Unable to either send the request or get the response.
    print $http->lastErrorText() . "\r\n";
    exit;
}

# Should be 200.
print "Response status code: " . $statusCode . "\r\n";

# Examine the contents of the file.
$sb = chilkat::CkStringBuilder->new();
$sb->LoadFile($targetPath,"utf-8");
print $sb->getAsString() . "\r\n";

# 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",$targetPath);
$statusCode = $http->get_LastStatus();
if ($statusCode == 0) {
    # Unable to either send the request or get the response.
    print $http->lastErrorText() . "\r\n";
    exit;
}

# Should be 200.
print "Response status code: " . $statusCode . "\r\n";

# Examine the contents of the file.
$sb->LoadFile($targetPath,"utf-8");
print $sb->getAsString() . "\r\n";

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

# Delete the local target file.
$fac = chilkat::CkFileAccess->new();
$fac->FileDelete($targetPath);

# Try to download a file that does not exist:
$success = $http->DownloadAppend("https://chilkatsoft.com/testData/does_not_exist.txt",$targetPath);
$statusCode = $http->get_LastStatus();
if ($statusCode == 0) {
    # Unable to either send the request or get the response.
    print $http->lastErrorText() . "\r\n";
}
else {
    # We got a response, and we already know it wasn't a 200 success response.
    # It should be a 404 not found.
    print "Response status code: " . $statusCode . "\r\n";
    # Examine the response body.
    print "Response body:" . "\r\n";
    print $http->lastResponseBody() . "\r\n";
}