Sample code for 30+ languages & platforms
Ruby

Example: Http.DownloadAppend method

Demonstrates the DownloadAppend method.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

success = false

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

http = Chilkat::CkHttp.new()
http.put_KeepResponseBody(true)

# 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() + "\n";
    exit
end

# Should be 200.
print "Response status code: " + statusCode.to_s() + "\n";

# Examine the contents of the file.
sb = Chilkat::CkStringBuilder.new()
sb.LoadFile(targetPath,"utf-8")
print sb.getAsString() + "\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() + "\n";
    exit
end

# Should be 200.
print "Response status code: " + statusCode.to_s() + "\n";

# Examine the contents of the file.
sb.LoadFile(targetPath,"utf-8")
print sb.getAsString() + "\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() + "\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.to_s() + "\n";
    # Examine the response body.
    print "Response body:" + "\n";
    print http.lastResponseBody() + "\n";
end