You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MEXC API获取账户资产数据遇401权限问题求助

解决MEXC合约API 401无权限问题

你的代码返回401错误,核心原因是签名生成逻辑不符合MEXC的规则,以下是修正后的代码及关键说明:

错误分析

  1. 签名生成时误用了完整URL,MEXC要求签名基于域名后的请求路径(如/api/v1/private/account/assets)而非带域名的完整URL。
  2. 冗余添加了Content-Type请求头,GET请求无需该字段。

修正后的代码

import requests
import hmac
import hashlib
import time

api_key = '你的API_KEY'
api_secret = '你的API_SECRET'

# API请求路径(仅保留域名后的部分)
path = '/api/v1/private/account/assets'
base_url = 'https://contract.mexc.com'
full_url = base_url + path

# 生成毫秒级时间戳
timestamp = str(int(time.time() * 1000))

# 构造签名参数串:按参数名ASCII升序排序
params = {'access_key': api_key, 't': timestamp}
sorted_params = sorted(params.items())
query_string = '&'.join([f"{k}={v}" for k, v in sorted_params])

# 生成签名:请求方法+路径+参数串
prehash = 'GET' + path + query_string
signature = hmac.new(api_secret.encode('utf-8'), prehash.encode('utf-8'), hashlib.sha256).hexdigest()

# 请求头仅保留必要字段
headers = {
    'api-key': api_key,
    't': timestamp,
    'sign': signature,
    'User-Agent': 'Mozilla/5.0'
}

# 发送请求并打印结果
response = requests.get(full_url, headers=headers)
print(response.status_code)
print(response.json())

额外检查项

  • 确认API密钥已在MEXC后台开启合约交易权限。
  • 若设置了IP白名单,确保当前运行代码的IP在白名单范围内。
  • 核对API密钥与密钥,确保无多余空格或字符。

内容的提问来源于stack exchange,提问作者Nick Korovkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:33:33