2008-10-16 24 views
10

लागू करता है मैं सोच रहा था कि कोई मुझे पाइथन के लिए एक मुफ्त ftps मॉड्यूल की ओर इंगित कर सकता है।पायथन मॉड्यूल जो

मैं अजगर के लिए एक पूर्ण नौसिखिया हूं, लेकिन यह मुझे एक कार्य परियोजना के लिए कुछ चाहिए। मुझे किसी तृतीय पक्ष ftps सर्वर से कनेक्ट करने के लिए एक ftps क्लाइंट की आवश्यकता है।

धन्यवाद,

डेविड।

उत्तर

1

मैंने इसे स्वयं नहीं किया है (हाँ, मैंने अभी Google का उपयोग किया है और कुछ लिंक का पालन किया है), लेकिन http://www.lag.net/paramiko/ अनुशंसित समाधान प्रतीत होता है। एक सरसरी नज़र से, यह शुद्ध पायथन में एक एसएसएच कार्यान्वयन है, जो एफ़टीपी जैसी चीजों के लिए सुरंग की अनुमति देता है।

अपडेट: एक टिप्पणीकर्ता ने बताया कि मैंने sftp और ftps को मिश्रित किया है, क्षमा करें। मैं अभी भी कम से कम पैरामीको की जांच करने का सुझाव देता हूं कि यह देखने के लिए कि क्या यह आवश्यकताओं से मेल खाता है या नहीं।

+0

sftp और ftps समान नहीं हैं। – jfs

3

Twistedशंकु उप-प्रोजेक्ट के तहत एफटीपीएस (एसएसएल पर एफ़टीपी) का कुछ कार्यान्वयन प्रतीत होता है। मैं कोई मुड़ता विशेषज्ञ नहीं हूं, लेकिन Glyph, घुमावदार आदमी स्वयं, इस साइट में सूचीबद्ध है। शायद अपने answer को दूसरे प्रश्न पर फ़ॉलो करके, आप अधिक जानकारी (शुभकामनाएं) पा सकते हैं।

+0

प्लग के लिए धन्यवाद :)। लेकिन एफटीपीएस (एफ़टीपी, लेकिन एसएसएल से अधिक) एसएफटीपी (एसएसएच पर फ़ाइल हस्तांतरण, वास्तव में एफ़टीपी प्रोटोकॉल से संबंधित नहीं है) जैसी ही बात नहीं है। – Glyph

+0

आपका स्वागत है;)। जवाब के लिए धन्यवाद। – gimel

9

मैं तो आप बस अपने एफ़टीपी कार्यान्वयन का उपयोग, लेकिन बदलते FTPClient.connectFactory विशेषता एक समारोह है कि connectSSL बजाय connectTCP के साथ कुछ करता है होना करने के लिए द्वारा FTPS लागू करने के लिए मुड़ इस्तेमाल कर सकते हैं विश्वास करते हैं।

क्या आप वाकई एफटीपीएस चाहते हैं? SFTP is a different, better, and much more popular protocol इन दिनों: मुड़ में an SFTP implementation भी शामिल है।

+1

कनेक्टएसएसएल का उपयोग एफटीपीएस कनेक्शन के लिए किया जा सकता है, लेकिन स्पष्ट एफटीपीएस (AUTH कमांड का उपयोग करके) निहित एफटीपीएस की तुलना में अधिक लोकप्रिय है। अभी भी मुड़ एफ़टीपी कार्यान्वयन एक अच्छी शुरुआत है। DTP.connectionMade को बदलने के साथ AUTH (और सह) को कार्यान्वित करना अगला चरण हो सकता है। –

1

मुझे विंडोज़ के लिए एक मुफ्त एसएफटीपी क्लाइंट नहीं मिला, इसलिए मैंने पाइथन के सबप्रोसेस मॉड्यूल का उपयोग करके पुट्टी के पीएसएफटीपी को लपेट लिया। यदि मैं इसके बारे में जानूंगा तो शायद मैं ग्लाइफ द्वारा उल्लिखित मुड़ने वाले कार्यान्वयन का उपयोग करता।

http://code.google.com/p/psftplib/

4

M2Cypto एक FTPS मॉड्यूल है:

वैसे भी अपने रुचि अगर यह उपलब्ध है। documentation से:

>>> from M2Crypto import ftpslib 
>>> f = ftpslib.FTP_TLS() 
>>> f.connect('', 9021) 
'220 spinnaker.dyndns.org M2Crypto (Medusa) FTP/TLS server v0.07 ready.' 
>>> f.auth_tls() 
>>> f.set_pasv(0) 
>>> f.login('ftp', '[email protected]') 
'230 Ok.' 
>>> f.retrlines('LIST') 
-rw-rw-r-- 1 0  198   2326 Jul 3 1996 apache_pb.gif 
drwxrwxr-x 7 0  198   1536 Oct 10 2000 manual 
drwxrwxr-x 2 0  198   512 Oct 31 2000 modpy 
drwxrwxr-x 2 0  198   512 Oct 31 2000 bobo 
drwxr-xr-x 2 0  198   14336 May 28 15:54 postgresql 
drwxr-xr-x 4 100  198   512 May 16 17:19 home 
drwxr-xr-x 7 100  100   3584 Sep 23 2000 openacs 
drwxr-xr-x 10 0  0    512 Aug 5 2000 python1.5 
-rw-r--r-- 1 100  198   326 Jul 29 03:29 index.html 
drwxr-xr-x 12 0  0    512 May 31 17:08 python2.1 
'226 Transfer complete' 
>>> f.quit() 
'221 Goodbye.' 
>>> 

वैकल्पिक रूप से, अगर आप तीसरे पक्ष के मॉड्यूल के उपयोग को कम करना चाहता था, आप में निर्मित (पायथन के लिए) एसएसएल समर्थन के साथ मानक लाइब्रेरी की ftplib .FTP वर्ग उपवर्ग में सक्षम होना चाहिए। M2Crypto (या Twisted, यदि आप उस तरह जाना चाहते हैं) हालांकि आसान समाधान है।

2

सर्वर कार्यान्वयन के लिए के रूप में आप pyftpdlib पर एक नज़र ले जा सकते हैं: http://code.google.com/p/pyftpdlib/ यह एक काम कर FTPS सर्वर को लागू करने एक डेमो स्क्रिप्ट में शामिल हैं: http://code.google.com/p/pyftpdlib/source/browse/trunk/demo/tls_ftpd.py

ग्राहक कार्यान्वयन के लिए के रूप में मैं एक पैच जो शामिल किया जाएगा प्रदान की पायथन 2.7 और 3.2 में। http://bugs.python.org/issue2054

6

पायथन संस्करण 2.7.1 में ftplib मॉड्यूल में आपकी सभी कार्यक्षमताओं की आवश्यकता होगी, जिसमें टीएलएस समर्थन शामिल है।

http://docs.python.org/library/ftplib.html#module-ftplib

संबंधित मुद्दे