Sample code for 30+ languages & platforms
AutoIt

Co:Z SFTP Binary File Download (from z/OS IBM Mainframe)

See more SFTP Examples

Demonstrates how to download a binary file, such as a .zip, from a Co:Z SFTP server on a z/OS IBM Mainframe.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oSftp = ObjCreate("Chilkat.SFtp")

; Connect to the SSH server.  
Local $sHostname = "sftp.example.com"
Local $iPort = 22
$bSuccess = $oSftp.Connect($sHostname,$iPort)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

$bSuccess = $oSftp.AuthenticatePw("myLogin","myPassword")
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

$bSuccess = $oSftp.InitializeSftp()
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; To download a binary file from the Co:Z SFTP server, 
; we must switch to binary mode in the following unconventional way.
; We pretend to fetch a directory listing for "/+mode=binary"
; This has the effect of putting the server in binary mode for transfers.
Local $sHandle = $oSftp.OpenDir("/+mode=binary")
If ($oSftp.LastMethodSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Download the "directory listing" (but it's not actually a directory listing, and we'll just discard it.)

$oDirListing = ObjCreate("Chilkat.SFtpDir")
$bSuccess = $oSftp.ReadDirListing($sHandle,$oDirListing)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Close the directory handle:
$bSuccess = $oSftp.CloseHandle($sHandle)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Download the binary file:
Local $sLocalFilePath = "c:/temp/test.zip"
Local $sRemoteFilePath = "test.zip"
$bSuccess = $oSftp.DownloadFileByName($sRemoteFilePath,$sLocalFilePath)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Success." & @CRLF)