當前位置:首頁 » 文件管理 » vbsftp上傳

vbsftp上傳

發布時間: 2022-06-08 20:40:17

A. VB如何連接sftp下載文件

因為安全原因,需要SFTP協議(sftp是SecureFile Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的一部份,是一種傳輸檔案至Blogger 伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File TransferProtocol)的安全文件傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號默認是22)來完成相應的連接操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網路安全性要求更高時,可以使用SFTP代替FTP)
准備階段
需要引用第三方類庫Tamir.SharpSSH.dll。鏈接地址(http://www.tamirgal.com/blog/page/SharpSSH.aspx)
我下載的是(Downloadbinaries: SharpSSH-1.1.1.13.bin.zip)DotNetSSH 文件
把Tamir.SharpSSH.dll載入到項目中。
實現階段
增加一個類SFTPHelper
1Imports Tamir.SharpSsh.jsch
2
3PublicClass SFTPHelper
4 Private m_session As Session
5 Private m_channel As Channel
6 Private m_sftp As ChannelSftp
7
8 PublicSubNew(ByVal host AsString, ByVal user AsString, ByVal pwd AsString)
9 Dim arr() AsString = host.Split(":")
10 Dim ip AsString = arr(0)
11 Dim port AsInteger = 22
12 If (arr.Length > 1) Then
13 port = Int32.Parse(arr(1))
14 EndIf
15
16 Dim jsch As JSch = New JSch()
17 m_session =jsch.getSession(user, ip, port)
18 Dim ui As MyUserInfo = New MyUserInfo()
19 ui.setPassword(pwd)
20 m_session.setUserInfo(ui)
21 End Sub
22
23 'SFTP獲取文件
24 PublicFunction GetInfo(ByVal remotePath AsString, ByVal localPath AsString) AsBoolean
25 Try
26 Dim src As Tamir.SharpSsh.java.String = New Tamir.SharpSsh.java.String(remotePath)
27 Dim dst As Tamir.SharpSsh.java.String = New Tamir.SharpSsh.java.String(localPath)
28 m_sftp.get(src, dst)
29 ReturnTrue
30 Catch
31 ReturnFalse
32 EndTry
33 End Function
34 'SFTP連接狀態
35 PublicProperty Connected AsBoolean
36 Get
37 Return m_session.isConnected()
38 EndGet
39 Set(ByVal value AsBoolean)
40
41 EndSet
42 End Property
43
44 '連接SFTP
45 PublicFunction Connect() AsBoolean
46 Dim flag AsBoolean = False
47 Try
48 If (Not Connected()) Then
49 m_session.connect()
50 m_channel =m_session.openChannel("sftp")
51 m_channel.connect()
52 m_sftp = m_channel
53 flag = True
54 EndIf
55 Catch
56 flag = False
57 EndTry
58 Return flag
59 End Function
60
61 '斷開SFTP
62 PublicSub Disconnect()
63
64 If (Connected()) Then
65 m_channel.disconnect()
66 m_session.disconnect()
67 EndIf
68 End Sub
69
70 '登錄驗證信息
71 PublicClass MyUserInfo
72 Implements UserInfo
73
74 Dim passwd AsString
75
76 PublicSub setPassword(ByVal ppasswd AsString)
77 passwd = ppasswd
78 End Sub
79 PublicFunction getPassphrase() AsStringImplementsTamir.SharpSsh.jsch.UserInfo.getPassphrase
80 ReturnNothing
81 End Function
82 PublicFunction getPassword() AsStringImplements Tamir.SharpSsh.jsch.UserInfo.getPassword
83 Return passwd
84 End Function
85
86 PublicFunction promptPassphrase(ByVal message AsString) AsBooleanImplements Tamir.SharpSsh.jsch.UserInfo.promptPassphrase
87 ReturnTrue
88 End Function
89 PublicFunction promptPassword(ByVal message AsString) AsBooleanImplementsTamir.SharpSsh.jsch.UserInfo.promptPassword
90 ReturnTrue
91 End Function
92 PublicFunction promptYesNo(ByVal message AsString) AsBooleanImplements Tamir.SharpSsh.jsch.UserInfo.promptYesNo
93 ReturnTrue
94 End Function
95 PublicSub showMessage(ByVal message AsString) Implements Tamir.SharpSsh.jsch.UserInfo.showMessage
96
97 End Sub
98 End Class
99
100End Class

還有一個最簡單的辦法
Shell "explorer 下載地址"

B. sftp 上傳下載文件的時候 sh.GetFileList("/PF/Upload/", "test.txt"); 提示未將對象引用到實例。

我也遇到過 你應該檢查下你的值是不是為null,跟蹤調試下看看呢,雖然我對這個不太懂 給一點我的想法吧

C. windows 下如何使用sftp自動登錄上傳文件

1首先打開linux客戶端工具,新建一個連接

2IP地址填寫我們本機的IP地址

3創建完畢,打開剛才創建的連接進行連接

4連接打開,在命令行輸入 sfpt 伺服器IP地址

5進入用戶名填寫處,填寫我們需要傳輸文件的伺服器用戶名

6接著填寫登錄密碼

7顯示如下標志表明,已經登錄成功,使用put 文件路徑即可實現文件傳輸

D. 為什麼用SFTP上傳這個更改了的文件老是失敗呀,上傳圖片其它的都行

錯誤信息里提示了:Permission denied,沒有許可權呀,估計是後台限制了你上傳某類文件了

E. SFTP 怎麼往伺服器上上傳整個文件夾

使用SecureSRT中的SFTP傳遞文件夾時,有個小細節值得注意一下:
1)在文件夾名dirname後加上'/',傳輸後,目標位置沒有新建文件夾dirname,只有dirname文件夾下的各個文件。

如:

sftp> get -r smsrc/

2)在文件夾名dirname後不加'/',傳輸後,目標位置新建文件夾dirname,所有文件位置新建文件夾dirname下。

如:

sftp> get -r smsrc

F. 如何設置通過sftp將文件上傳到linux指定 工具指定根目錄路徑

如果是window下上傳到linux,可以安裝個flashfxp軟體。輸入用戶密碼。就可以象ftp一樣上傳文件到linux里。。

如果是linux傳linux。。。
直接使用sftp ip 輸入用戶密碼,然後用cd ls put get等命令就可以把文件傳到相應目錄
具體命令參數可以輸入sftp --help 就可以參看了

熱點內容
溫十系統如何看處理器配置 發布:2025-01-20 21:59:47 瀏覽:301
米號源碼 發布:2025-01-20 21:55:30 瀏覽:892
電信四川dns伺服器ip 發布:2025-01-20 21:54:51 瀏覽:91
電腦彈出腳本錯誤還能繼續使用嗎 發布:2025-01-20 21:42:29 瀏覽:585
安卓私密照片在哪裡 發布:2025-01-20 21:41:05 瀏覽:4
同濟復試編譯原理 發布:2025-01-20 21:33:54 瀏覽:309
c語言判斷字母 發布:2025-01-20 21:31:09 瀏覽:423
ftp伺服器搭建linux 發布:2025-01-20 21:26:05 瀏覽:334
安卓手機瀏覽器如何翻譯英文網頁 發布:2025-01-20 21:21:01 瀏覽:422
刺客信條梟雄怎麼調成低配置 發布:2025-01-20 21:20:51 瀏覽:709