如何处理接口加密,主要看开发用的什么方法,接口文档时怎么规定的,这里只是其中的一种加密方法介绍,用的是RSA方法进行加密,先来看一下接口文档
当 X-Lemonban-Media-Type 请求头值为 lemonban.v3 时,接口使用 timestamp+token+sign 鉴权
关于什么是token,什么是sign,可以参考此篇文章:
需要进行如下设置:
- 设置 Authorization 请求头,值为 Bearer token 值
- 请求体 json 设置 timestamp 参数,值为当前时间戳,类型为 long
- 请求体 json 设置 sign 参数,取 token 前 50 位再拼接上 timestamp 值,然后通过 RSA 公钥加密得到的字符串
具体代码操作如下:
修改base.py代码如下:
import time
import rsa
import requests
import re
import json
from base64 import b64encode, decode
from config import config, secret_config
from jsonpath import jsonpath
class APICase:
# 我们去访问项目当中接口需要用到的独立的方法或属性
@classmethod
def login(cls):
# 访问登录接口(普通用户登录)
headers = {"X-Lemonban-Media-Type": "lemonban.v2"}
json_data = secret_config.user
login_resp = requests.request(url=config.host + 'member/login',
method='post',
headers=headers,