save code

This commit is contained in:
xsl
2025-12-29 18:44:07 +08:00
parent ae68a9e201
commit 355b10cc24
2 changed files with 91 additions and 62 deletions
+90 -61
View File
@@ -5,77 +5,79 @@ import base64
import time import time
import random import random
url = 'http://mq.aidigifi.meidaojia.com/api/swapHair/v1' # url = 'http://mq.aidigifi.meidaojia.com/api/swapHair/v1'
# url = 'https://692524911165445-http-8801.northwest1.gpugeek.com:8443/api/swapHair/v1' url = 'https://693570664882181-http-8801.northwest1.gpugeek.com:8443/api/swapHair/v1'
# url = 'https://692502023221253-http-8801.northwest1.gpugeek.com:8443/api/swapHair/v1' # url = 'https://692502023221253-http-8801.northwest1.gpugeek.com:8443/api/swapHair/v1'
# url = 'https://692493464571909-http-8801.northwest1.gpugeek.com:8443/api/swapHair/v1' # url = 'https://692493464571909-http-8801.northwest1.gpugeek.com:8443/api/swapHair/v1'
headers = {'Content-Type': 'application/json'} headers = {'Content-Type': 'application/json'}
data = { data = {
"hair_id": "1907651680352395265", # "hair_id": "1907651680352395265",
"task_id": "1907651680352395265", "hair_id": "1907651525024735234",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/user2_1_%E5%89%AF%E6%9C%AC.JPG", "task_id": "345564352345",
# "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_8.JPG", #"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/user2_1_%E5%89%AF%E6%9C%AC.JPG",
"is_hr": "false", # "user_img_path": "http://git.xiangsilian.com/imgs/test.jpg",
"output_format": "base64"
}
more_data = []
more_data.append(data)
data1 = {
"hair_id": "1907651680352395265",
"task_id": "2345623451234",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_8.JPG", "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_8.JPG",
"is_hr": "false", "is_hr": "false",
"output_format": "base64" "output_format": "base64"
} }
more_data.append(data1)
data2 = { # more_data = []
"hair_id": "1907651680352395265", # more_data.append(data)
"task_id": "3145645324",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_7.JPG",
"is_hr": "false",
"output_format": "base64"
}
more_data.append(data2)
data3 = { # data1 = {
"hair_id": "1907651680352395265", # "hair_id": "1907651680352395265",
"task_id": "456412345", # "task_id": "2345623451234",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_6.JPG", # "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_8.JPG",
"is_hr": "false", # "is_hr": "false",
"output_format": "base64" # "output_format": "base64"
} # }
more_data.append(data3) # more_data.append(data1)
data4 = { # data2 = {
"hair_id": "1907651680352395265", # "hair_id": "1907651680352395265",
"task_id": "45623445", # "task_id": "3145645324",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_5.JPG", # "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_7.JPG",
"is_hr": "false", # "is_hr": "false",
"output_format": "base64" # "output_format": "base64"
} # }
more_data.append(data4) # more_data.append(data2)
data5 = { # data3 = {
"hair_id": "1907651680352395265", # "hair_id": "1907651680352395265",
"task_id": "2345867435", # "task_id": "456412345",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_4.JPG", # "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_6.JPG",
"is_hr": "false", # "is_hr": "false",
"output_format": "base64" # "output_format": "base64"
} # }
more_data.append(data5) # more_data.append(data3)
# data4 = {
# "hair_id": "1907651680352395265",
# "task_id": "45623445",
# "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_5.JPG",
# "is_hr": "false",
# "output_format": "base64"
# }
# more_data.append(data4)
# data5 = {
# "hair_id": "1907651680352395265",
# "task_id": "2345867435",
# "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_4.JPG",
# "is_hr": "false",
# "output_format": "base64"
# }
# more_data.append(data5)
data6 = { # data6 = {
"hair_id": "1907651680352395265", # "hair_id": "1907651680352395265",
"task_id": "86747535", # "task_id": "86747535",
"user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_3.JPG", # "user_img_path": "https://cdn.meidaojia.com/ZoeFiles/testuser_3.JPG",
"is_hr": "false", # "is_hr": "false",
"output_format": "base64" # "output_format": "base64"
} # }
more_data.append(data6) # more_data.append(data6)
def image_to_base64(file_path, mime_type=None): def image_to_base64(file_path, mime_type=None):
""" """
@@ -108,7 +110,7 @@ def image_to_base64(file_path, mime_type=None):
# 组合成Data URI格式 # 组合成Data URI格式
return f"data:{mime_type};base64,{encoded_string}" return f"data:{mime_type};base64,{encoded_string}"
img64_str = image_to_base64("aaa.jpg") img64_str = image_to_base64("testuser_8.JPG")
data['user_img_path'] = img64_str data['user_img_path'] = img64_str
# 存储所有请求的响应 # 存储所有请求的响应
@@ -125,9 +127,9 @@ def send_request(start_time):
sleep_time = start_time #random.uniform(0, 2) # 生成 [0, 2) 之间的随机浮点数 sleep_time = start_time #random.uniform(0, 2) # 生成 [0, 2) 之间的随机浮点数
time.sleep(sleep_time) time.sleep(sleep_time)
global send_index global send_index
send_data = more_data[send_index] send_data = data #more_data[send_index]
# send_index = send_index + 1 # send_index = send_index + 1
send_data['task_id'] = str(int(random.uniform(0, 10000000))) # send_data['task_id'] = str(int(random.uniform(0, 10000000)))
response = requests.post(url, headers=headers, json=send_data) response = requests.post(url, headers=headers, json=send_data)
with lock: # 加锁,防止多线程同时修改 responses with lock: # 加锁,防止多线程同时修改 responses
responses.append(response) responses.append(response)
@@ -137,7 +139,7 @@ def send_request(start_time):
# 创建并启动多个线程 # 创建并启动多个线程
threads = [] threads = []
num_requests = 10 # 并发请求数量 num_requests = 1 # 并发请求数量
time_start = time.time() time_start = time.time()
@@ -159,6 +161,33 @@ total_time = (end_time - time_start)
qps = num_requests/total_time qps = num_requests/total_time
print(f"num_requests:{num_requests} total_time:{total_time} qps:{qps}") print(f"num_requests:{num_requests} total_time:{total_time} qps:{qps}")
import base64
import os
def save_base64_image(base64_str, filename):
"""
将 Base64 编码的图片字符串保存为本地 JPG 文件。
:param base64_str: Base64 编码的图片字符串(可能包含 data:image/jpeg;base64, 前缀)
:param filename: 保存的文件名(例如 'image.jpg'
"""
# 如果包含 data URL 前缀,去掉它
if base64_str.startswith("data:image"):
base64_str = base64_str.split(",", 1)[1]
try:
image_data = base64.b64decode(base64_str)
with open(filename, "wb") as f:
f.write(image_data)
print(f"图片已保存为 {filename}")
except Exception as e:
print(f"保存图片失败: {e}")
# 打印所有响应 # 打印所有响应
for i, resp in enumerate(responses, 1): for i, resp in enumerate(responses, 1):
print(f"请求 {i} 结果: {resp.status_code, resp.text[:128]}") print(f"请求 {i} 结果: {resp.status_code, resp.text[:128]}")
json_obj = json.loads(resp.text)
data_string = json_obj['data']
save_base64_image(data_string, f"response_{i}.jpg")
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB