此代碼在linux上編寫,適用于linux,windows下需要更改幾個命令。
1、客戶端輸入IP,端口,可服務器端進行連接,被要求輸入用戶名和密碼進行驗證。
2、使用獨立的模塊來驗證登錄用戶(技術有限,不支持客戶端創建用戶),用戶名:ftpuser 密碼:userlogin
2、客戶端登錄驗證成功后,可使用?或者help查看可使用的命令。
ftpserver.py
代碼如下:
#!/usr/bin/env python
#-*- coding:utf-8
"Program for ftp server"
from SocketServer import *
from time import *
import os
import loginauth
class MyFtp(StreamRequestHandler):
def handle(self):
try:
while True:
sleep(0.5)
self.request.sendall('auth')
name = self.request.recv(BUFSIZ)
sleep(0.5)
self.request.sendall('pauth')
password = self.request.recv(BUFSIZ)
print name,password
auth_result = loginauth.user_create(name,password)
print auth_result
if auth_result == 0:
self.request.sendall('ok2login')
break
elif auth_result == 1:
self.request.sendall('fail2login')
continue
while True:
recv_data = self.request.recv(BUFSIZ).split()
if recv_data[0] == 'rls':
新聞熱點
疑難解答