Sample code for 30+ languages & platforms
Visual FoxPro

Example: Http.DownloadAppend method

Demonstrates the DownloadAppend method.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL lcTargetPath
LOCAL loHttp
LOCAL lnStatusCode
LOCAL loSb
LOCAL loFac

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')
loHttp.KeepResponseBody = 1

*  Assume the target file in the local filesystem does not yet exist.
lnSuccess = loHttp.DownloadAppend("https://chilkatsoft.com/testData/helloWorld.txt",lcTargetPath)
lnStatusCode = loHttp.LastStatus
IF (lnStatusCode = 0) THEN
    *  Unable to either send the request or get the response.
    ? loHttp.LastErrorText
    RELEASE loHttp
    CANCEL
ENDIF

*  Should be 200.
? "Response status code: " + STR(lnStatusCode)

*  Examine the contents of the file.
loSb = CreateObject('Chilkat.StringBuilder')
loSb.LoadFile(lcTargetPath,"utf-8")
? loSb.GetAsString()

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

*  Download another text file and append to the target file.
lnSuccess = loHttp.DownloadAppend("https://chilkatsoft.com/testData/this_is_a_test.txt",lcTargetPath)
lnStatusCode = loHttp.LastStatus
IF (lnStatusCode = 0) THEN
    *  Unable to either send the request or get the response.
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loSb
    CANCEL
ENDIF

*  Should be 200.
? "Response status code: " + STR(lnStatusCode)

*  Examine the contents of the file.
loSb.LoadFile(lcTargetPath,"utf-8")
? loSb.GetAsString()

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

*  Delete the local target file.
loFac = CreateObject('Chilkat.FileAccess')
loFac.FileDelete(lcTargetPath)

*  Try to download a file that does not exist:
lnSuccess = loHttp.DownloadAppend("https://chilkatsoft.com/testData/does_not_exist.txt",lcTargetPath)
lnStatusCode = loHttp.LastStatus
IF (lnStatusCode = 0) THEN
    *  Unable to either send the request or get the response.
    ? loHttp.LastErrorText
ELSE
    *  We got a response, and we already know it wasn't a 200 success response.
    *  It should be a 404 not found.
    ? "Response status code: " + STR(lnStatusCode)
    *  Examine the response body.
    ? "Response body:"
    ? loHttp.LastResponseBody
ENDIF

RELEASE loHttp
RELEASE loSb
RELEASE loFac