AutoIt
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
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)