12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import requests,json,time,random,hashlib
- import string
- def api_request01(url,passid,serviceid,passtoken,jsons1,query,decoder='utf8'):
- signTime = str(GetTime()//1000)
- nonce = GetNonce(5)
- sign = GetSign(signTime,nonce,passtoken)
- headers = {
- 'Content-Type':'application/json',
- 'x-tif-signature':sign,
- 'x-tif-timestamp':signTime,
- 'x-tif-nonce':nonce,
- 'x-tif-paasid':passid,
- 'x-tif-serviceId':serviceid
- }
- query_timestamp = str(GetTime())
- jsons = {
- "system_id": GetKwargs(jsons1, 'system_id'),
- "vender_id": GetKwargs(jsons1, 'vender_id'),
- "department_id": GetKwargs(jsons1, 'department_id'),
- "query_timestamp": query_timestamp,
- "UID": GetNonce(5),
- "query": query,
- "audit_info": {
- "operator_id": GetKwargs(jsons1, 'operator_id'),
- "operator_name": GetKwargs(jsons1, 'operator_name'),
- "query_object_id": GetKwargs(query, 'SFZH'),
- "query_object_id_type": '01',
- "item_id": GetKwargs(jsons1, 'item_id'),
- "item_code": GetKwargs(jsons1, 'item_code'),
- "item_sequence": GetKwargs(jsons1, 'item_sequence'),
- "terminal_info": GetKwargs(jsons1, 'terminal_info'),
- "query_timestamp": query_timestamp
- }
- }
- # print(url,headers,jsons)
- request = requests.post(url=url,headers=headers,json=jsons)
- result = request.text.encode(decoder)
- return result
- def GetSign(signTime,nonce,passtoken):
- data = signTime+passtoken+nonce+signTime
- return hashlib.sha256(data.encode('utf-8')).hexdigest()
- def GetNonce(length):
- characters = string.ascii_letters + string.digits
- # 随机选择字符集的长度个字符
- random_string = ''.join(random.choice(characters) for _ in range(length))
- return random_string
- def GetTime():
- return int(time.time()*1000)
- def GetKwargs(dic,key):
- resu = 'xxx'
- if dic.__contains__(key):
- resu = dic[key]
- return resu
|