此代碼在linux上編寫,適用于linux,windows下需要更改幾個(gè)命令。
1、客戶端輸入IP,端口,可服務(wù)器端進(jìn)行連接,被要求輸入用戶名和密碼進(jìn)行驗(yàn)證。
2、使用獨(dú)立的模塊來驗(yàn)證登錄用戶(技術(shù)有限,不支持客戶端創(chuàng)建用戶),用戶名:ftpuser 密碼:userlogin
2、客戶端登錄驗(yàn)證成功后,可使用?或者h(yuǎn)elp查看可使用的命令。
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':
新聞熱點(diǎn)
疑難解答
圖片精選