FTPサーバーを構築する
参考リンク:Pythonを使ってFTPサーバーを素早く構築する
1.pyftpdligをインストールする
pip install pyftpdlib
2. pyftpdlibを使用してサーバーserver.pyを構築します。
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("test","12345",".",perm="elradfmw")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("172.17.209.100",21),handler)
server.serve_forever()
コードの説明:
(1) authorizer.add_user("test", "12345", ".", perm="elradfmw") は、
FTP サーバーのユーザー名、パスワード、ディレクトリの場所、およびアクセス許可を作成するために使用されます。
ここで設定するディレクトリの場所は現在のディレクトリ、つまり '.' です。
ここでの権限はフル権限に設定されます
(2)server = FTPServer(("172.17.209.100",21),handler) は
主に IP の設定に使用されます。 FTP サーバーのアドレスとポート番号。172.17.209.100 はマシンのアドレスです。
3. プログラムを実行します。
4. サーバーにログインします。
(1) 方法 1
URL: ftp://172.17.209.100/ を入力すると、サーバーにログインできます
。 注: IE ブラウザを使用してください。他のブラウザではログインできない場合があります。ユーザー名とパスワードを入力して開きます
。 ログインして
(2) を参照してください。 方法 2 は、
File Zila や他の同様のソフトウェアでもテストできます。
FTPクライアントプログラムを書く
参考リンク:python --build FTPサーバー
準備作業:
クライアントとサーバーの 2 つのフォルダーを作成し、それぞれのフォルダーの下に .py ファイルを作成し、
2 つのフォルダー間のデータ転送を試行します。
1. ファイルをサーバーにアップロードする
from ftplib import FTP
#登陆FTP
ftp = FTP(host='172.17.209.100',user='test',passwd='12345')
#设置编码方式,由于在windows系统,设置编码为gbk
ftp.encoding = 'gbk'
#上传文件 2.py服务器端文件名为 2.py
ftp.storbinary('STOR 2.py', open('2.py', 'rb'))
サーバーをチェックすると、もう 1 つの 2.py ファイルが表示されます。
2. サーバーからファイルをダウンロードします
from ftplib import FTP
#登陆FTP
ftp = FTP(host='172.17.209.100',user='test',passwd='12345')
#设置编码方式,由于在windows系统,设置编码为gbk
ftp.encoding = 'gbk'
# 切换目录
ftp.cwd('.')
#列出文件夹的内容
ftp.retrlines('LIST')
#下载文件 server.py
ftp.retrbinary('RETR server.py', open('server.py', 'wb').write)
クライアントがサーバーからserver.pyファイルをダウンロードしていることを確認してください