Tcl
Tcl
FTP Download Text File to a Stream
See more FTP Examples
Demonstrates how to FTP download a text file to a Chilkat stream.Note: This example requires Chilkat v9.5.0.67 or greater.
Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat FTP2 API to have been previously unlocked.
# See FTP2 Unlock Sample for sample code.
set ftp [new_CkFtp2]
CkFtp2_put_Hostname $ftp "www.my-ftp-server.com"
CkFtp2_put_Username $ftp "mFtpLogin"
CkFtp2_put_Password $ftp "myFtpPassword"
CkFtp2_put_AuthTls $ftp 1
CkFtp2_put_Passive $ftp 1
# Connect and login to the FTP server using TLS.
set success [CkFtp2_Connect $ftp]
if {$success != 1} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
exit
}
set streamObj [new_CkStream]
# Indicate the charset of the incoming data.
CkStream_put_StringCharset $streamObj "utf-8"
# Create a task to do the FTP download.
# t is a CkTask
set t [CkFtp2_GetFileToStreamAsync $ftp "lines.txt" $streamObj]
if {[CkFtp2_get_LastMethodSuccess $ftp] != 1} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
delete_CkStream $streamObj
exit
}
# Start the task in a background thread.
CkTask_Run $t
# Read the incoming text data using any of the streamObj Read methods.
# This example will read line-by-line.
while {[CkStream_get_EndOfStream $streamObj] != 1} {
set line [CkStream_readToCRLF $streamObj]
if {[CkStream_get_LastMethodSuccess $streamObj] == 1} then {
puts "$line"
}
}
delete_CkTask $t
puts "Success."
delete_CkFtp2 $ftp
delete_CkStream $streamObj