Python socket编程 (2)--实现文件验证登入
程序员文章站
2022-03-07 10:13:00
可以实现从客户端输入账号和密码然后发送到服务器进行验证,实现用户登入校正操作。 服务器: 客户端: 经过一番排查错误,总算是勉强实现了预期的功能。以后继续完善和添加新的功能! ......
可以实现从客户端输入账号和密码然后发送到服务器进行验证,实现用户登入校正操作。
服务器:
import socket import json server = socket.socket() server.bind(('192.168.101.5', 8001)) server.listen(5) while true: coon, addr = server.accept() while true: ret = coon.recv(1024) info = json.loads(ret) """ 因为尝试了很多次,输入都是正确的,但是都是显示登入失败 就想看看是不是哪里错,从这里打印看发现都是字符串 没有类型错误,但是就是一直发登入失败, """ # print(info) # print(info['name'],type(info['name'])) # print(info['password'],type(info['password'])) flag = false with open('info.txt', 'r') as f: for line in f: # lst = line.strip(':') 从这里打印后,发现从文件读取时,会把换行符读取进去 # print(lst) 所以要加上strip()函数 name, passward = line.strip().split(':') # print(name,type(name)) # print(passward,type(passward)) if name == info['name'] and passward == info['password']: flag = true break if flag: coon.send('登入成功'.encode('utf-8')) else: coon.send('用户名或密码错误!'.encode('utf-8')) server.close()
客户端:
ort socket import json client = socket.socket() client.connect(('192.168.101.5', 8001)) while true: while true: name = input(">>>请输入账号:") password = input(">>>请输入密码:") info = json.dumps({'name':name, 'password':password}).encode('utf-8') # print(info) client.send(info) ret = client.recv(1024) print(ret.decode('utf-8')) client.close()
经过一番排查错误,总算是勉强实现了预期的功能。以后继续完善和添加新的功能!
上一篇: 面试官: 写过『通用前端组件』吗?