本帖最后由 ImppTs 于 2023-1-2 22:08 编辑
基于socket的简单python网络验证登录/注册 服务器CMD输入ipconfig查看自己的ipv4 记得把防火墙关掉不然连接不到本地用户端!
Server代码: import socket, ast ipv4 = "IPv4" port = 8080 server = socket.socket() server.bind((ipv4, port)) server.listen(5) print('验证系统已运行..') conn, addr = server.accept() print("连接服务器成功..") while True: try: data_recv = conn.recv(1024) msg = data_recv.decode('utf-8') dic = ast.literal_eval(msg) file = open("用户数据库\\数据库.txt", "r") for i in file.readlines(): f = ast.literal_eval(i.replace("\n", "")) acount = f["acount"] if acount == dic["acount"]: if f["password"] == dic["password"]: if f["HWID"] == dic["HWID"]: conn.send("账号密码正确.".encode('utf-8')) break else: conn.send("HWID错误.".encode('utf-8')) break else: conn.send("密码错误.".encode('utf-8')) break else: conn.send("账号不存在.".encode('utf-8')) except: ipv4 = "IPv4" port = 8080 server = socket.socket() server.bind((ipv4, port)) server.listen(5) conn, addr = server.accept() conn.close()
Client代码:
import socket, ast
ipv4 = "IPv4"
port = 8088
server = socket.socket()
server.bind((ipv4, port))
server.listen(5)
print('验证系统已运行..')
conn, addr = server.accept()
print("连接服务器成功..")
while True:
try:
data_recv = conn.recv(1024)
msg = data_recv.decode('utf-8')
dic = ast.literal_eval(msg)
file = open("用户数据库\\数据库.txt", "r")
for i in file.readlines():
f = ast.literal_eval(i.replace("\n", ""))
acount = str(f["acount"])
if acount == str(dic["acount"]):
print("账户存在.")
break
else:
print("注册成功.")
file = open("用户数据库\\数据库.txt", "a")
file.write(msg + "\n")
file.close()
except Exception as e:
ipv4 = "IPv4"
port = 8088
server = socket.socket()
server.bind((ipv4, port))
server.listen(5)
conn, addr = server.accept()
conn.close()
联系我时,请说是在 挂海论坛 上看到的,谢谢! |