SMB協(xié)議操作共享文件

在 java 開(kāi)發(fā)中,避免不了要對(duì)共享文件進(jìn)行操作,前段時(shí)間小編就做了類(lèi)似的需求,這里記錄開(kāi)發(fā)中遇到的坑,一是記錄,而是希望有同樣需求的小伙伴燒踩一些坑。

在連接共享文件時(shí) ,我們避免不了要輸入用戶(hù)名&密碼,但是smb協(xié)議可以有兩種寫(xiě)法

方法一:

/*

* ? Smb://(用戶(hù)名):(密碼)@(ip)/(共享文件名稱(chēng))

*/

String path="Smb://dzjz:123@172.16.192.106/unupload/";


SmbFile smbFile=newSmbFile(path);

然后就可以進(jìn)行后續(xù)的驗(yàn)證了。
但是:::: 這種寫(xiě)法會(huì)有個(gè)坑,其中的@符是連接作用,假如你的密碼中有特殊字符(例如:@!#。。等),這樣的話(huà)你的共享文件一直是鏈接不上的,那么有沒(méi)有解決辦法呢 ?肯定是有的下面我們來(lái)時(shí)第二種方法

方法二:

/*

* 還是上面的 用戶(hù)名密碼

*/

String domainip="172.16.192.106";

String userName="dzjz";

String passWord="123";

String fileName="unupload";

String url="smb://172.16.192.106/unupload/" ;

NtlmPasswordAuthentication auth =new NtlmPasswordAuthentication(domainip, username, password);

SmbFile outDirFile =newSmbFile(url, auth);

//或者 SmbFile outDirFile =newSmbFile("smb://"+domainip+"/"+fileName+"/", auth);

這樣就可以完美解決了用戶(hù)名或者密碼中存在攤位數(shù)字符的問(wèn)題。

這種寫(xiě)法簡(jiǎn)單的來(lái)說(shuō)就是優(yōu)先驗(yàn)證用戶(hù)信息 ,然后給你個(gè)封裝好的鑰匙,再去打開(kāi)你想要訪問(wèn)的共享文件,具體原理就不在這里說(shuō)了 有興趣的大家可以看下源碼。

還有一點(diǎn),也是比較坑的一點(diǎn):就是smb協(xié)議訪問(wèn)的共享文件是加了同步鎖的,當(dāng)有一個(gè)smb協(xié)議扎起使用連接著當(dāng)前的共享文件時(shí),其他的協(xié)議是無(wú)法連接通過(guò)的。(關(guān)于這一點(diǎn)大家可以看下源碼的具體實(shí)現(xiàn)。)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,607評(píng)論 19 139
  • 1. Samba簡(jiǎn)介 Samba是在Linux和UNIX系統(tǒng)上實(shí)現(xiàn)SMB協(xié)議的一個(gè)免費(fèi)軟件,由服務(wù)器及客戶(hù)端程序構(gòu)...
    garyond閱讀 14,630評(píng)論 2 29
  • 1、第八章 Samba服務(wù)器2、第八章 NFS服務(wù)器3、第十章 Linux下DNS服務(wù)器配站點(diǎn),域名解析概念命令:...
    哈熝少主閱讀 3,907評(píng)論 0 10
  • 本文是Medusa和Hydra快速入門(mén)手冊(cè)的第二部分,第一部分的傳送門(mén)這兩篇也是后續(xù)爆破篇的一部分,至于字典,放在...
    LinuxSelf閱讀 3,127評(píng)論 0 4
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,742評(píng)論 6 152

友情鏈接更多精彩內(nèi)容