Differences

This shows you the differences between the selected revisions of the page.

library_perl 2012-03-05 library_perl 2022-06-16 (current)
Line 1: Line 1:
====== Using WinSCP .NET Assembly from Perl (ActivePerl) ====== ====== Using WinSCP .NET Assembly from Perl (ActivePerl) ======
-&beta_feature +//This article is based on [[https://www.activestate.com/products/perl/|ActivePerl]] Perl distribution.//
- +
-//This article is based on [[http://www.activestate.com/activeperl|ActivePerl]] Perl distribution.//+
===== Installing and Registering for COM ===== ===== Installing and Registering for COM =====
Line 13: Line 11:
==== [[enums]] Accessing Enumeration Values ==== ==== [[enums]] Accessing Enumeration Values ====
-As Perl accesses COM classes via ''IDispatch'', it does not make use of type library, hence it does not have direct access to constants defined there, like ''[[library_sessionoptions#properties|Protocol.Sftp]]'' for instance.+As Perl accesses COM classes via ''IDispatch'', it does not make use of type library, hence it does not have direct access to constants defined there, like ''[[library_sessionoptions#protocol|Protocol.Sftp]]'' for instance.
One of several ways to use these constants is to use ''%%Win32::OLE::Const->Load%%'' method. It returns hash array of all enum members from type library, with keys like ''<type>_<member>'', e.g. ''Protocol.Sftp'' becomes ''Protocol_Sftp''. One of several ways to use these constants is to use ''%%Win32::OLE::Const->Load%%'' method. It returns hash array of all enum members from type library, with keys like ''<type>_<member>'', e.g. ''Protocol.Sftp'' becomes ''Protocol_Sftp''.
Line 35: Line 33:
$sessionOptions->{'UserName'} = 'user'; $sessionOptions->{'UserName'} = 'user';
$sessionOptions->{'Password'} = 'mypassword'; $sessionOptions->{'Password'} = 'mypassword';
-$sessionOptions->{'SshHostKey'} = 'ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx';+$sessionOptions->{'SshHostKeyFingerprint'} = 'ssh-rsa 2048 xxxxxxxxxxx...';
</code> </code>
-==== Event Handlers ====+==== [[event_handlers]] Event Handlers ====
The ''[[library_session|Session]]'' class exposes several [[library_session#events|events]]. The ''[[library_session|Session]]'' class exposes several [[library_session#events|events]].
Line 82: Line 80:
</code> </code>
-===== Example =====+===== [[example]] Example =====
This example is functionally equivalent to [[library#example|overall C# example for WinSCP .NET assembly]]. This example is functionally equivalent to [[library#example|overall C# example for WinSCP .NET assembly]].
Line 111: Line 109:
$sessionOptions->{'UserName'} = 'user'; $sessionOptions->{'UserName'} = 'user';
$sessionOptions->{'Password'} = 'mypassword'; $sessionOptions->{'Password'} = 'mypassword';
-$sessionOptions->{'SshHostKey'} = 'ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx';+$sessionOptions->{'SshHostKeyFingerprint'} = 'ssh-rsa 2048 xxxxxxxxxxx...';
# Connect # Connect
Line 120: Line 118:
$transferOptions->{'TransferMode'} = $consts->{'TransferMode_Binary'}; $transferOptions->{'TransferMode'} = $consts->{'TransferMode_Binary'};
-my $transferResult = $session->PutFiles('d:\\toupload\\*', '/home/user/', FALSE, $transferOptions);+my $transferResult = 
 + ···$session->PutFiles('d:\\toupload\\*', '/home/user/', FALSE, $transferOptions);
# Throw on any error # Throw on any error

Last modified: by brablc