Construir un servidor FTP
Enlace de referencia: use python para construir rápidamente un servidor FTP
1. Instalar pyftpdlig
pip install pyftpdlib
2. Use pyftpdlib para construir un servidor 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()
Descripción del código:
(1) Authorizer.add_user("test", "12345", ".", perm="elradfmw")
se utiliza para crear el nombre de usuario, la contraseña, la ubicación del directorio y los permisos del servidor FTP.
La ubicación del directorio establecida aquí es el directorio actual, es decir, '.'
La autoridad aquí se establece en autoridad total
(2) server = FTPServer(("172.17.209.100",21),handler)
se utiliza principalmente para establecer la IP dirección del servidor FTP y número de puerto, donde 172.17.209.100 es la dirección de la máquina.
3. Ejecute el programa
4. Inicie sesión en el servidor
(1) Método 1
Ingrese la URL: ftp://172.17.209.100/, puede iniciar sesión en el servidor
Nota: use el navegador IE, es posible que otros navegadores no puedan para abrir
después de ingresar el nombre de usuario y la contraseña Inicie sesión y vea
(2) El método 2
también se puede probar con File Zila y otro software similar
Escribir programa de cliente FTP
Enlace de referencia: python --construir servidor FTP
Trabajo preliminar:
cree dos carpetas, un cliente y un servidor, cree archivos .py debajo de las carpetas respectivamente
y luego intente la transferencia de datos entre las dos carpetas
1. Subir archivos al servidor
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'))
Verifique el servidor y podrá ver un archivo 2.py más
2. Descarga el archivo del servidor
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)
Verifique que el cliente haya descargado un archivo server.py del servidor