用python写一个FTP服务
用python写一个FTP服务
·
import socket import os # 设置FTP服务器的IP地址和端口号 HOST = '127.0.0.1' PORT = 28 # 创建一个socket对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定IP地址和端口号 server_socket.bind((HOST, PORT)) # 开始监听 server_socket.listen(5) print('FTP server started on {}:{}'.format(HOST, PORT)) while True: # 等待客户端连接 client_socket, client_address = server_socket.accept() print('Client connected:', client_address) # 发送欢迎消息 client_socket.send(b'220 Welcome to FTP server\r\n') while True: # 接收客户端发送的命令 command = client_socket.recv(1024).decode().strip() print('Command received:', command) # 处理客户端发送的命令 if command.startswith('USER'): client_socket.send(b'331 Password required for user.\r\n') elif command.startswith('PASS'): client_socket.send(b'230 User logged in.\r\n') elif command.startswith('QUIT'): client_socket.send(b'221 Goodbye.\r\n') client_socket.close() break elif command.startswith('LIST'): # 列出当前目录下的文件列表 file_list = os.listdir('.') response = ' '.join(file_list) client_socket.send(response.encode() + b'\r\n') elif command.startswith('RETR'): # 下载文件 filename = command.split(' ')[1] if os.path.isfile(filename): with open(filename, 'rb') as f: data = f.read() client_socket.send(data) else: client_socket.send(b'550 File not found.\r\n') elif command.startswith('STOR'): # 上传文件 filename = command.split(' ')[1] with open(filename, 'wb') as f: data = client_socket.recv(1024) while data: f.write(data) data = client_socket.recv(1024) client_socket.send(b'226 Transfer complete.\r\n') else: client_socket.send(b'500 Syntax error, command unrecognized.\r\n')

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)