Sample code for 30+ languages & platforms
Perl

REST Download Binary File to Memory

See more REST Examples

Download a binary file to a Chilkat BinData object.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

my $rest = Chilkat2::Rest->new;

# We're going to download a sample MS-Word doc file.
# The URLs of our MS-Word sample documents are:

# https://www.chilkatdownload.com/sample_data/sample.doc
# https://www.chilkatdownload.com/sample_data/sample.docx

my $pathPartOfUrl = '/sample_data/sample.doc';
my $domain = 'chilkatdownload.com';

my $bTls = 1;
my $port = 443;
my $bAutoReconnect = 1;
my $success = $rest->Connect($domain, $port, $bTls, $bAutoReconnect);
if (!$success) {
    print $rest->LastErrorText, "\n";
    exit;
}

my $bd = Chilkat2::BinData->new;
$success = $rest->FullRequestNoBodyBd('GET', $pathPartOfUrl, $bd);
if (!$success) {
    print $rest->LastErrorText, "\n";
    exit;
}

# A 200 response is expected for actual success.
# If we don't get a 200 response, then the response body was not actually
# the file data, but it was text containing error information.
if ($rest->ResponseStatusCode != 200) {
    my $sbErrorText = Chilkat2::StringBuilder->new;
    $sbErrorText->AppendBd($bd, 'utf-8', 0, 0);
    print $sbErrorText->GetAsString(), "\n";
    print "-- Failed.\n";
    exit;
}

# Save to a local file.
# Change the file path based on your operating system or needs...
$success = $bd->WriteFile('c:/temp/qa_output/sample.doc');
if (!$success) {
    print "Failed to save to local file.\n";
    exit;
}

print "REST Download of MS-Word File was successful.\n";