Oczywiście wcześniej należy upewnić się, że biblioteka
pyftpdlib jest zainstalowana, np.:
pip install pyftpdlib
lub
apt install python-pyftpdlib
Biblioteka
pyftpdlib umożliwia również implementację własnego serwera FTP. Poniżej przykład prostego skryptu, który sprawdza czy użytkownik próbuje pobrać plik zawierający w nazwie
test_ i jeśli tak, wyświetla jego drugą część.
#!/usr/bin/env python
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
class MyHandler(FTPHandler):
def ftp_RETR(self, file):
arr = file.split("/test_")
if (len(arr) == 2):
print arr[1]
self.respond('550 dupa')
def main():
authorizer = DummyAuthorizer()
authorizer.add_anonymous(homedir='.')
handler = MyHandler
handler.authorizer = authorizer
server = FTPServer(('', 21), handler)
server.serve_forever()
if __name__ == "__main__":
main()
A do czego to się może przydać? A np. do
aptm.in/protip/0039.
Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.