Créer un serveur FTP
Lien de référence : Utiliser python pour créer rapidement un serveur FTP
1. Installez pyftpdlig
pip install pyftpdlib
2. Utilisez pyftpdlib pour construire un serveur 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()
Description du code :
(1) autoriser.add_user("test", "12345", ".", perm="elradfmw")
est utilisé pour créer le nom d'utilisateur, le mot de passe, l'emplacement du répertoire et les autorisations du serveur FTP.
L'emplacement du répertoire défini ici est le répertoire actuel, c'est-à-dire '.'
L'autorité ici est définie sur l'autorité complète
(2) server = FTPServer(("172.17.209.100",21),handler)
est principalement utilisé pour définir l'IP adresse du serveur FTP et numéro de port, où 172.17.209.100 est l'adresse de la machine.
3. Exécutez le programme
4. Connectez-vous au serveur
(1) Méthode 1
Entrez l'URL : ftp://172.17.209.100/, vous pouvez vous connecter au serveur
Remarque : Utilisez le navigateur IE, d'autres navigateurs peuvent ne pas être en mesure pour ouvrir
après avoir entré le nom d'utilisateur et le mot de passe Connectez-vous et voyez
(2) La méthode 2
peut également être testée avec File Zila et d'autres logiciels similaires
Écrire un programme client FTP
Lien de référence : python --build serveur FTP
Travail préliminaire :
créez deux dossiers, un client et un serveur, créez des fichiers .py sous les dossiers respectivement,
puis essayez le transfert de données entre les deux dossiers
1. Télécharger des fichiers sur le serveur
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'))
Vérifiez le serveur et vous pouvez voir un autre fichier 2.py
2. Téléchargez le fichier depuis le serveur
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)
Vérifiez que le client a téléchargé un fichier server.py depuis le serveur