这是因为请求的时间戳与服务器时间不一致导致的。可以通过以下代码来解决此问题:
import time
import requests
from binance.client import Client
api_key = 'your_api_key'
api_secret = 'your_api_secret'
client = Client(api_key, api_secret)
server_time = client.get_server_time()['serverTime']
local_time = int(time.time() * 1000)
if local_time - server_time > 1000:
diff = local_time - server_time
client.session.headers.update({'X-MBX-TIMESTAMP': str(server_time)})
params = {'timestamp': server_time}
signature = client.generate_signature(params)
client.session.headers.update({'X-MBX-APIKEY': api_key})
client.session.headers.update({'X-MBX-SIGNATURE': signature})
这个代码将会把时间戳设为服务器时间戳,并在请求过程中更新头部信息。如果时间差超过了1000ms,则会重新生成一个时间戳并更新头部信息,以确保请求时间戳和服务器时间戳一致。