Python requests.auth更新参数
如何将参数(签名)更新(添加)到request.body ''导入hashlib 进口hmac 导入时间Python requests.auth更新参数,python,authentication,python-requests,Python,Authentication,Python Requests,如何将参数(签名)更新(添加)到request.body ''导入hashlib 进口hmac 导入时间 import requests from requests.auth import AuthBase from config import key, secret class BinanceAuth(AuthBase): def __init__(self, api_key, api_secret): self.api_key = api_key
import requests
from requests.auth import AuthBase
from config import key, secret
class BinanceAuth(AuthBase):
def __init__(self, api_key, api_secret):
self.api_key = api_key
self.api_secret = api_secret
self.url_v2 = 'https://fapi.binance.com/fapi/v2/{}'
def __call__(self, request):
signature = hmac.new(bytes(self.api_secret, 'latin-1'),
bytes((request.body or ""), 'latin-1'),
digestmod=hashlib.sha256).hexdigest()
request.headers.update(
{'X-MBX-APIKEY': self.api_key}
)
return request'''
据我所知,
request
是一个准备好的请求对象,您已经包含了POST数据,并且希望包含基于此数据的签名。您可以执行类似于request.body+=('&'if request.body else')+f'signature={signature}'
的操作来添加签名,因为签名是一个hexdigest,并且不包含任何坏字符(url无效字符)
编辑:
如果request.body不是None:
request.body=('&'if request.body else'')+f'signature={signature}
其他:
请求.准备\u正文({'signature':signature},无)
您的参数是什么?参数-signature是否尝试此操作:x=requests.post(url,data=signature)
我尝试过:不支持+=:“NoneType”和“str”的操作数类型编辑了我的答案,以包括body为None的情况