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

使用Bash/Curl调用CoinEx API提交加密货币市价单出现400错误咨询

CoinEx API 市价单提交400错误排查

错误原因

  • curl请求参数错误:-X -POST 多写了一个横杠,正确写法为-X POST,语法错误直接导致服务端无法识别请求类型
  • 变量名调用错误:代码中定义交易对变量为marketpair,但POST请求体中错误调用未定义的$market变量,导致交易对参数为空
  • 签名生成错误:md5sum命令默认输出会附带空格和-标识,仅需取前32位哈希值;且签名要求全大写,需要提前处理完成再传入请求头
  • 请求头格式错误:authorization请求头的取值不需要额外包裹单引号,多余符号会导致服务端鉴权失败
  • tonce取值格式错误:用jq取接口返回的时间戳时未加-r参数,导致取到的数值带双引号,签名和请求参数中的tonce格式不符合要求
  • 冗余参数问题:CoinEx市价单接口不需要传入price参数,多余参数会触发参数校验失败
  • VPN代理问题:报错日志显示请求实际发往127.0.0.1,说明VPN本地代理配置异常,curl请求没有正确转发到CoinEx服务端

修复后代码

#!/bin/bash
# CoinEx 市价单提交脚本

access_id="XXXX" 
secret_key="XXXX"  
req_url="https://api.coinex.com/v1/order/market" 
amount="1.0"  
marketpair="DOGEUSDT"  
market_type="sell" 

# 取正确格式的13位毫秒时间戳
tonce=$(curl -s -X GET https://api.coinex.com/v1/market/ticker/all | jq -r .data.date)

# 生成签名:拼接参数→MD5→转大写→仅取前32位
sign_raw="access_id=${access_id}&amount=${amount}&market=${marketpair}&tonce=${tonce}&type=${market_type}&secret_key=${secret_key}"
authorization=$(echo -n "${sign_raw}" | md5sum | awk '{print $1}' | tr '[:lower:]' '[:upper:]')

# 提交请求,可根据VPN代理情况补充--proxy socks5://127.0.0.1:你的代理端口 或者--noproxy "*"测试
curl -v \
  -H "Authorization: ${authorization}" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "access_id": "'${access_id}'",
    "amount": "'${amount}'",
    "market": "'${marketpair}'",
    "tonce": '${tonce}',
    "type": "'${market_type}'"
  }' \
  ${req_url}

内容的提问来源于stack exchange,提问作者mehdi shokati

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:51:00