Python socket编程 (2)--实现文件验证登入

2019-07-24 09:27:05来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

可以实现从客户端输入账号和密码然后发送到服务器进行验证,实现用户登入校正操作。

服务器:

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()           

经过一番排查错误,总算是勉强实现了预期的功能。以后继续完善和添加新的功能!

 


原文链接:https://www.cnblogs.com/hxf-zb/p/11216049.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python Http-server 使用

下一篇:我是如何自学python到找到工作