diff --git a/src/client.py b/src/client.py index f1207c2..cd71218 100644 --- a/src/client.py +++ b/src/client.py @@ -9,6 +9,7 @@ from pydantic import BaseModel import socket import random import time +import base64 @asynccontextmanager @@ -199,14 +200,14 @@ async def send_messages( capsule_ct = Encrypt(pk, message) # type: ignore for i in range(len(node_ips)): - url = "http://" + node_ips[i][0] + ":8001" + "/user_src?message" - print(url) + url = "http://" + node_ips[i][0] + ":8001" + "/user_src" payload = { "source_ip": local_ip, "dest_ip": dest_ip, - "capsule_ct": capsule_ct, + "capsule_ct": base64.b64encode(str(capsule_ct)), "rk": rk_list[i], } + print(payload) response = requests.post(url, json=payload) if response.status_code == 200: @@ -235,7 +236,7 @@ async def request_message(i_m: Request_Message): message_name = i_m.message_name source_ip = get_own_ip() dest_port = "8002" - url = "http://" + dest_ip + ":" + dest_port + "/recieve_request?i_m" + url = "http://" + dest_ip + ":" + dest_port + "/recieve_request" payload = { "dest_ip": dest_ip, "message_name": message_name, diff --git a/src/client_cli.py b/src/client_cli.py index 458de98..b9e2d6e 100644 --- a/src/client_cli.py +++ b/src/client_cli.py @@ -2,7 +2,7 @@ import argparse import requests def send_post_request(ip_addr, message_name): - url = f"http://localhost:8002/request_message/?i_m" + url = f"http://localhost:8002/request_message" data = { "dest_ip": ip_addr, "message_name": message_name diff --git a/src/node.py b/src/node.py index 8fd270b..2cbf6b4 100644 --- a/src/node.py +++ b/src/node.py @@ -7,6 +7,7 @@ from pydantic import BaseModel from tpre import * import os from typing import Any, Tuple +import base64 @asynccontextmanager @@ -80,7 +81,7 @@ class Req(BaseModel): @app.post("/user_src") # 接收用户1发送的信息 -async def receive_user_src_message(message: Req): +async def user_src(message: Req): global client_ip_src, client_ip_des # kfrag , capsule_ct ,client_ip_src , client_ip_des = json_data[] # 看梁俊勇 """ @@ -91,10 +92,10 @@ async def receive_user_src_message(message: Req): "rk": rk_list[i], } """ - print(type(message)) source_ip = message.source_ip dest_ip = message.dest_ip - capsule_ct = message.capsule_ct + b64capsule_ct = message.capsule_ct + capsule_ct = base64.b64decode(b64capsule_ct) rk = message.rk processed_message = ReEncrypt(rk, capsule_ct) @@ -107,7 +108,7 @@ async def send_user_des_message(source_ip: str, dest_ip: str, re_message): # # 发送 HTTP POST 请求 response = requests.post( - "http://" + dest_ip + "/receive_messages?message", json=data + "http://" + dest_ip + "/receive_messages", json=data ) print(response)