当前位置: 首页 > wzjs >正文

著名建站公司西安百度公司开户

著名建站公司,西安百度公司开户,公众号开发微商城,google网站登录入口利用 ECB 加密 json并压测接口,输出测试报告 需求:代码:运行结果: 需求: 调用 /api/GDPostFeiYouTemu/NotMailTemuOrderPush生成一个 随机数 赋值给orderCode和referenceNumber(且需要唯一)ECB…

利用 ECB 加密 json并压测接口,输出测试报告

  • 需求:
  • 代码:
  • 运行结果:

需求:

  1. 调用 /api/GDPostFeiYouTemu/NotMailTemuOrderPush
  2. 生成一个 随机数 赋值给orderCode和referenceNumber(且需要唯一)
  3. ECB 加密 Json 参数
  4. 可配置的 持续调用时间和调用次数
  5. 生成测试报告,并保存在文件夹中

代码:

import json
import random
import string
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from base64 import b64encode
import requests
from concurrent.futures import ThreadPoolExecutor
import time
import logging
from datetime import datetime# 配置日志
logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(levelname)s - %(message)s',handlers=[logging.FileHandler('request_log.log'),logging.StreamHandler()]
)# 加密函数(保持不变)
def encrypt_data(data, key):key = key.encode('utf-8')[:16]  # AES-128cipher = AES.new(key, AES.MODE_ECB)ct_bytes = cipher.encrypt(pad(data.encode('utf-8'), AES.block_size))return b64encode(ct_bytes).decode('utf-8')# 生成唯一随机字符串(添加时间戳增强唯一性)
def generate_unique_random_string(length=10):timestamp = datetime.now().strftime("%f")  # 微秒级时间戳chars = ''.join(random.choices(string.ascii_uppercase + string.digits, k=length))return f"{timestamp}_{chars}"# 构造请求数据(优化唯一性)
def prepare_request_data():base_data = {"head": {"method": "batch_create_order","version": "1.0.0","requestTime": "2022-07-20 10:06:31"},"uaccount": "xxxxx","body": [{"mailCode": "TEST201072000MAILCODE","orderCode": "TE_" + generate_unique_random_string(8),"length": 20.3,"width": 18.1,"height": 6.3,"weight": 0.53,"receiverCompName": "AMZ-tt","receiverName": "Kaila Gilam 123456","receiverProv": "Atlantico","receiverCity": "Barranquilla","receiverArea": "Fayetteville","receiverHouseNo": "15","receiverAddress": "138 Lowery Dr 138 Lowery Dr","receiverAddress2": "apto 2B","receiverMobile": "","receiverTel": "3013357358","receiverEmail": "yh267lps4r1207d@us.shipping.temuemail.com","receiverPostCode": "110121","senderCompName": "CAN109","senderName": "CAN101","senderEngProv": "guangdong","senderEngCity": "guangzhou","senderAddress": "baiyun helong","senderPostCode": "80000","senderTel": "123456456","senderMobile": "147258369","countryCode": "CO","countryName": "哥伦比亚","productCode": "COL-X","tariffType": "ddp","vatNumber": "5236523","taxNo": "3923982135","remark": "","referenceNumber": "BG-" + generate_unique_random_string(8),"declValue": "50","declCurrency": "RMB","cardType": "2","cardNo": "48452153625425361252","inner": [{"gName": "加厚压缩袋","gEngName": "compression bag","innerContext": "","innerQty": 5,"innerWeight": 0.22,"innerPrice": 3.5,"currencyCode": "USD","madePlace": "CN","hscode": "3923290000","model": "无","gBrand": "无","originCountry": "","remark": "","sku": "100010","material": "塑料","purpose": "物品","taxNo": "3923","salesAddress": "https://suijimimashengcheng.bmcx.com/","distribution": "compression","electricityFlag": "","unitCode": "11","secUnitCode": "","innerDeclValue": "25","innerDeclCurrency": "RMB"}]}]}return base_data# 发送请求(添加重试机制和日志)
def send_request(url, key):try:data = prepare_request_data()encrypted = encrypt_data(json.dumps(data), key)start_time = time.time()response = requests.post(url, json={"data": encrypted}, timeout=10)duration = time.time() - start_timelog_msg = f"Status: {response.status_code} | Duration: {duration:.2f}s | Order: {data['body'][0]['orderCode']}"if response.status_code != 200:logging.error(log_msg)return (False, response.status_code)else:logging.info(log_msg)return (True, response.status_code)except Exception as e:logging.error(f"Request failed: {str(e)}")return (False, str(e))# 压力测试主函数
def stress_test():# 配置参数config = {"url": "http://txxxxxx.xxxx.com/api/GDPostFeiYouTemu/NotPush","key": "bJtR4ZSNK4p","threads_per_second": 1,"duration_seconds": 1}success_count = 0failure_count = 0total_requests = config["threads_per_second"] * config["duration_seconds"]logging.info(f"Starting stress test: {total_requests} total requests")with ThreadPoolExecutor(max_workers=50) as executor:  # 稍微多些工作线程防止堆积futures = []start_time = time.time()# 创建每分钟任务for _ in range(config["duration_seconds"]):# 提交每秒的任务批for _ in range(config["threads_per_second"]):future = executor.submit(send_request,config["url"],config["key"])futures.append(future)# 精确控制时间间隔time.sleep(1 - (time.time() - start_time) % 1)# 统计结果for future in futures:result = future.result()if result[0]:success_count += 1else:failure_count += 1# 生成测试报告end_time = time.time()test_duration = end_time - start_timereport = f"""======== Stress Test Report ========Total Requests: {total_requests}Successful: {success_count}Failed: {failure_count}Success Rate: {(success_count / total_requests) * 100:.2f}%Test Duration: {test_duration:.2f} secondsAvg Throughput: {total_requests / test_duration:.2f} req/s===================================="""logging.info(report)if __name__ == "__main__":stress_test()

运行结果:

D:\PYTHON-学习\邮政接口压力测试脚本\pythonProject1\.venv\Scripts\python.exe D:\PYTHON-学习\邮政接口压力测试脚本\pythonProject1\优化非邮下单接口.py 
2025-03-11 16:27:35,452 - INFO - Starting stress test: 1 total requests
2025-03-11 16:27:37,474 - INFO - Status: 200 | Duration: 2.02s | Order: TE_452975_72S1AYET
2025-03-11 16:27:37,475 - INFO - ======== Stress Test Report ========Total Requests: 1Successful: 1Failed: 0Success Rate: 100.00%Test Duration: 2.02 secondsAvg Throughput: 0.49 req/s====================================进程已结束,退出代码为 0
http://www.dtcms.com/wzjs/355959.html

相关文章:

  • 动态网站建设方式如何优化培训方式
  • 如何利用互联网挣钱北京seo培训
  • 用别人备案域名做违法网站免费网站推广方式
  • 网站添加可信任站点怎么做乐陵seo优化
  • 网站建设次年续费合同微信营销方式有哪些
  • 大连开发区七中沈阳关键词seo排名
  • 做航模的网站灰色产业推广引流渠道
  • 山东百度推广总代理山西seo关键词优化软件搜索
  • 国外有哪些做建筑材料的网站nba中国官方网站
  • 网站建设wang1314广东网站seo策划
  • 苹果 在线视频网站源码广州做seo公司
  • 公司的帐如何做网站广州seo优化外包公司
  • 免费企业网站源码下载网络营销策划公司
  • 山东鑫企点外贸订单靠谱吗网站关键词优化排名技巧
  • 这么做国外网站的国内镜像站ping站长工具
  • 宁夏做网站建设公司武汉网站设计
  • 企业网站系统设计竞价广告点击软件
  • 找工作的网站有哪些?网站建设推广服务
  • 专业做装修的网站站长工具查询入口
  • 南昌市,做网站的公司搜索引擎平台排名
  • 潍坊企业免费建站免费网页制作成品
  • 国家卫生健康委健康中心seo百科大全
  • 新疆教育平台网站建设杭州百度推广公司有几家
  • 上海网站推荐四川全网推网络推广
  • 网站定制页面调整至居中2021年度关键词有哪些
  • 新闻网站建设汇报百度关键词价格
  • 网站建设系统教程seo工具是什么意思
  • 服务好的做培训网站口碑营销是什么意思
  • 专做会议发布的网站网站定制设计
  • 可以做兼职的网站推荐杭州seo网站优化