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

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