WinSCP SessionOptions ССЫЛКА
Параметры сеанса WinSCP по умолчанию равны SFTP и PORT 22, поэтому обычному объекту сеанса просто нужно несколько вещей, подобных этому...
Примечание. Я собираюсь отобразить в Visual Basic 6 для тех, у кого возникли проблемы с использованием библиотеки таким образом, но логика аналогична для VB.net, C# и PowerShell, как указано в вопросе.
Dim sessionOptions
Set sessionOptions = CreateObject("WinSCP.SessionOptions")
With sessionOptions
.HostName = SftpUrl
.UserName = UserName
.Password = UserPassword
.SshHostKeyFingerprint = "ssh-rsa 2048 Ue9.................................="
End With
Dim sftpSession
Set sftpSession = CreateObject("WinSCP.Session")
On Error GoTo YOURERROR
sftpSession.open sessionOptions
If sftpSession.opened Then
'Do stuff...
End If
Приведенный выше код работает и подключается к реальному серверу.
В своем вопросе вы изначально просили FTP, хотя вы правильно сказали и сказали SFTP. Однако я также покажу FTP-запрос, поскольку WinSCP поддерживает его, и в примере ДОЛЖЕН быть установлен хотя бы протокол.
WinSCP устанавливает порт на основе используемого протокола, поэтому в приведенном ниже примере нам по-прежнему не нужно устанавливать порт.
Нужно будет только установить порт, если он отличается от портов сервера по умолчанию для используемого протокола.
Dim sessionOptions
Set sessionOptions = CreateObject("WinSCP.SessionOptions")
With sessionOptions
.Protocol = Protocol_Ftp
.HostName = FtpUrl
.UserName = UserName
.Password = UserPassword
End With
Dim FtpSession
Set FtpSession = CreateObject("WinSCP.Session")
On Error GoTo YOURERROR
FtpSession.open sessionOptions
If FtpSession.opened Then
'Do stuff...
End If
person
SoEzPz
schedule
13.04.2021