# -*- coding=utf-8 -*- import hashlib import json import time import requests def get_sign(token=None, data={}): """ 获取签名方法 :param token: token :param timestamp: 时间戳 :param data: 请求参数 :return: 加密后sign,替换请求头sign """ timestamp = str(int(time.time() * 1000)) token_md5 = hashlib.md5(token.encode("utf8")) m = token_md5.hexdigest().upper() + timestamp + data sign = hashlib.md5(m.encode("utf8")).hexdigest().upper() return sign, timestamp def send_res(url, token, data, headers): """ 发送Post请求封装 :param url: 请求url :param token: 请求token :param data: 请求参数 :param headers: 请求头 :return: """ data_str = json.dumps(data, ensure_ascii=False) sign = get_sign(token, data_str) headers['sign'] = sign[0] headers['timestamp'] = sign[1] send_data = data_str.encode('utf-8') r = requests.request('post', url, data=send_data, headers=headers) return r
使用时调用send_res,传对应参数即可,支持body中含中文