2016-03-30 6 views
5

में एफ़टीपी से टीएलएस/एसएसएल (एफटीपीएस) सर्वर से कनेक्ट करने के लिए कैसे करें मैंने एसओ की खोज की, 2 दिनों से अधिक गुगल किया और मुझे कोई जवाब नहीं मिला जो मुझे मदद करता है।जावा

मैं टीएलएस/एसएसएल (एफटीपीएस) सर्वर पर एफ़टीपी से कनेक्ट करने में फंस गया हूं। मैं एसएसएल के बिना एफ़टीपी सर्वर कनेक्ट करने में सक्षम हूं के माध्यम से SimpleFTP लाइब्रेरी का उपयोग कर रहा हूं लेकिन एफटीपीएस कनेक्ट नहीं कर सका।

यह मुझे लाइन 2 (ftp.connect) पर इस त्रुटि दे रहा है,

SimpleFTP received an unknown response when connecting to the FTP server:
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------

और कोड नीचे का उपयोग कर रहा

SimpleFTP ftp = new SimpleFTP(); 

// Connect to an FTP server on port 21. 
ftp.connect("xxx.xxx.xxx.xxx", 21, "username", "pwd"); 
//getting error at (ftp.connect) above line 

// Set binary mode. 
ftp.bin(); 

// Change to a new working directory on the FTP server. 
ftp.cwd("web"); 
ftp.disconnect(); 
+0

आप "एसएसएल के बिना" कैसे कनेक्ट करते हैं? आप SimpleFTP का उपयोग क्यों करते हैं, न कि अपाचे कॉमन्स नेट 'एफ़टीपी क्लाइंट'? –

+0

मुझे नहीं पता कि अपाचे कॉमन्स नेट एफ़टीपी क्लाइंट का उपयोग करके कनेक्ट कैसे करें, यदि आप इसके कुछ नमूना कोड पोस्ट करते हैं तो यह एक बड़ी मदद होगी। –

+0

@MartinPrikryl धन्यवाद आपका उत्तर कृपया Apache Commons Net FTPClient –

उत्तर

8

SimpleFTP वर्ग/पुस्तकालय में TLS/SSL का समर्थन नहीं करता सब।


बजाय Apache Commons Net library से FTPSClient class का प्रयोग करें।

official example for the FTPClient class देखें और FTPSClient के साथ FTPClient को प्रतिस्थापित करें।

FTPSClient ftpClient = new FTPSClient(); 
ftpClient.connect(host); 
ftpClient.login(user, password); 

एक स्पष्ट TLS/SSL को FTPSClient वर्ग चूक (अनुशंसित)। एक दुर्लभ मामले में आपको एक अंतर्निहित टीएलएस/एसएसएल की आवश्यकता है, new FTPSClient(true) का उपयोग करें।

+0

ठीक है, मैं इसे आज़माउंगा, आपको बताएं .. बहुत बहुत धन्यवाद। –

+0

मैंने उपर्युक्त विधि की कोशिश की जैसा आपने कहा था FTPSClient con = new FTPSClient (true); con.connect ("ftp.domain.com"); // यह यह त्रुटि दे रहा है, "ftp.domain.com/xxx.xxx.xx.xx (पोर्ट 9 0 9) से कनेक्ट करने में विफल रहा: कनेक्ट विफल: ECONNREFUSED (कनेक्शन अस्वीकार कर दिया गया) –

+0

आप निहित मोड की कोशिश क्यों कर रहे हैं? क्या आपने अनुशंसित स्पष्ट मोड का प्रयास करें? –