python3 request 登录 ftp_python3 实现简单ftp服务功能(客户端)

#Author by Andy#_*_ coding:utf-8 _*_

'''This program is used to create a ftp client'''

importsocket,os,json,time,hashlib,sysclassFtp_client(object):def __init__(self):

self.client=socket.socket()defhelp(self):

msg= '''useage:

ls

pwd

cd dir(example: / .. . /var)

put filename

rm filename

get filename

mkdir directory name'''

print(msg)defconnect(self,addr,port):

self.client.connect((addr,port))defauth(self):

m=hashlib.md5()

username= input("请输入用户名:").strip()

m.update(input("请输入密码:").strip().encode())

password=m.hexdigest()

user_info={'action':'auth','username':username,'password':password}

self.client.send(json.dumps(user_info).encode('utf-8'))

server_response= self.client.recv(1024).decode()#print(server_response)

returnserver_responsedefinteractive(self):whileTrue:

msg= input(">>>:").strip()if notmsg:print("不能发送空内容!")continuecmd=msg.split()[0]ifhasattr(self,cmd):

func=getattr(self,cmd)

func(msg)else:

self.help()continue

def put(self,*args):

cmd_split=args[0].split()if len(cmd_split) > 1:

filename= cmd_split[1]ifos.path.isfile(filename):

filesize=os.stat(filename).st_size

file_info={"action":"put","filename":filename,"size":filesize,"overriding":'True'}

self.client.send( json.dumps(file_info).en

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值