91 lines
5.1 KiB
Python
91 lines
5.1 KiB
Python
import requests
|
||
import hashlib
|
||
import time
|
||
|
||
import json
|
||
|
||
def generate_sign(system_id, request_info, request_time, secret_key):
|
||
"""生成签名"""
|
||
params = {
|
||
'requestInfo': request_info,
|
||
'requestTime': request_time,
|
||
'systemId': system_id
|
||
}
|
||
# 按字典序排序
|
||
sorted_params = '&'.join([f"{k}={v}" for k, v in sorted(params.items())])
|
||
sign_str = sorted_params + secret_key
|
||
return hashlib.md5(sign_str.encode()).hexdigest()
|
||
|
||
|
||
def test_navp_interface():
|
||
# 需要向HT获取系统密钥
|
||
secret_key = "aqwec3be422c22a752c22"
|
||
|
||
# url = "https://flow-gateway.pre.aeroht.com/server/oem/navp/infoUpload"
|
||
url = "https://flow-gateway.pre.aeroht.com/server/oem/nav/infoUpload"
|
||
|
||
# 测试数据
|
||
request_info = '{"iccid":"navp345678112300001","partsNo":"F34410001X3K-00-02","hVer":"F34410001X3K-00-02","sVer":"F34410001X3K0P001","network":"AG35CEVFMR12A02T4G&864169079532089","soc":"NA","sn":"F34410001X3K00024013683HJ00170"}'
|
||
# system_id = "navpFactory"
|
||
system_id = "diufactory"
|
||
request_time = time.strftime("%Y-%m-%d %H:%M:%S")
|
||
print(f"request_time:{request_time}")
|
||
# request_time = time.strftime("%Y/%m/%d %H:%M")
|
||
|
||
# 生成签名
|
||
sign = generate_sign(system_id, request_info, request_time, secret_key)
|
||
|
||
data = {
|
||
"systemId": system_id,
|
||
"requestInfo": request_info,
|
||
"requestTime": request_time,
|
||
"sign": sign
|
||
}
|
||
|
||
headers = {
|
||
"Content-Type": "application/x-www-form-urlencoded"
|
||
}
|
||
|
||
try:
|
||
# response = requests.post(url, data=data, headers=headers, timeout=30)
|
||
print(f"data|requestInfo:{data['requestInfo']}")
|
||
response = requests.request("POST",url, data=data, headers=headers, timeout=30)
|
||
|
||
if(response.status_code == 200) :
|
||
print(f"NAVP 接口测试 OK")
|
||
else :
|
||
print(f"NAVP 接口测试 NG")
|
||
|
||
print(f"NAVP接口响应状态码: {response.status_code}")
|
||
print(f"NAVP接口响应内容: {response.text}")
|
||
|
||
return response.status_code == 200
|
||
except Exception as e:
|
||
print(f"NAVP接口请求失败: {e}")
|
||
return False
|
||
|
||
|
||
def test_navs_interface():
|
||
# NAVS接口测试(类似NAVP,只需修改systemId和url)
|
||
# 实现逻辑与test_navp_interface类似
|
||
# pass
|
||
url = "https://flow-gateway.pre.aeroht.com/server/oem/nav/infoUpload?requestInfo=%7B%22iccid%22:%22navp345678112300001%22,%22partsNo%22:%22parts111%22,%22hVer%22:%22hVer_7d98d056c96e22222%22,%22sVer%22:%22sVer_b38651e22222%22,%22soc%22:%22111%22,%22network%22:%222222%22%7D&systemId=diufactory&requestTime=2026-01-14%2017:19:58&sign=f480924ff291e0f98a4fb9fdd0167a3e&appSecret=aqwec3be422c22a752c22"
|
||
|
||
payload = {}
|
||
headers = {
|
||
'Cookie': 'cookies=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',
|
||
'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
|
||
'Content-Type': 'application/json'
|
||
}
|
||
|
||
response = requests.request("POST", url, headers=headers, data=payload)
|
||
|
||
print(response.text)
|
||
|
||
|
||
|
||
if __name__ == "__main__":
|
||
print("开始测试预发布环境...")
|
||
navp_result = test_navp_interface()
|
||
# navs_result = test_navs_interface()
|