VB .NET 透過 WinSCP 實作 SFTP 功能

● 把 WinSCPnet.dll 加入參考

● WinSCP.exe 要在同一個目錄

● SshHostKeyFingerprint 可以透過 Putty 在第一次詢問時記下,或是刪除 Putty 的 Cache,讓 Putty 重新詢問。Putty 的 Cache 如下:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

● 範例程式碼

Imports WinSCP

Public Sub OnlineUpdate()

    Dim _SessionOptions As New SessionOptions
    Dim _TransferOptions As New TransferOptions
    Dim _TransferOperationResult As TransferOperationResult
    Dim _Session As New Session

    _SessionOptions.Protocol = Protocol.Sftp
    _SessionOptions.HostName = OnlineUpdate_HostName 'IP Address
    _SessionOptions.UserName = OnlineUpdate_UserName 'SFTP username
    _SessionOptions.Password = OnlineUpdate_Password 'SFTP password
    _SessionOptions.SshHostKeyFingerprint = OnlineUpdate_SshHostKeyFingerprint

    _Session.Open(_SessionOptions)
    _TransferOptions.TransferMode = TransferMode.Binary
    _TransferOperationResult = _Session.PutFiles("D:\Source", "/usr/local/www/apache24/data/", False, _TransferOptions)
    _TransferOperationResult.Check()

End Sub

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *