卧野望平川 2022-03-14 16:51 采纳率: 92.3%
浏览 183
已结题

OKX接口报错请使用json格式

50006无效的Content_Type,请使用"application/json"格式

GET请求正常,POST请求格式签名正确,但请求报错

import requests,base64,hmac,datetime
pass_phrase = '***'        # 申请
api_key = "***"        # 申请
secret_key = "***"  # 申请

def GetTimeUTC():
    rest = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]
    suffix = 'Z'
    rest = rest + suffix
    return rest

def signature(timestamp, method, request_path, body, secret_key):
  #签名
    body = {
        "instId":"BTC-USDT-SWAP",
        "tdMode":"cross",
        "side":"buy",
        "posSide":"long",
        "ordType":"market",
        "sz":"1"
    }
    message = str(timestamp) + str.upper(method) + request_path + str(body)
    mac = hmac.new(bytes(secret_key, encoding='utf8'), bytes(message, encoding='utf-8'), digestmod='sha256')
    d = mac.digest()
    return base64.b64encode(d)

def get_header(api_key, current_time, pass_phrase, secret_key):
  #拼接请求头
    return {
      'OK-ACCESS-KEY': api_key,
      'OK-ACCESS-SIGN': signature(current_time, 'POST', '/api/v5/trade/order', 'None', secret_key),
      'OK-ACCESS-TIMESTAMP': current_time,
      'OK-ACCESS-PASSPHRASE': pass_phrase,
    }

timestamp = GetTimeUTC()
url = 'https://www.okex.com/api/v5/trade/order'
headers=get_header(api_key, timestamp, pass_phrase, secret_key)
response = requests.post(url=url, headers=headers).json()

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2022-03-14 18:04
    关注

    使用post请求时,除了header外,还要根据需要传递其他参数。
    示例:

    当前接口的请求类型为application/json。
    
    # 导入requests模块
    import requests
    # 请求的url地址
    url = xxx
    # 请求头
    headers = {"content-type":"application/json"}
    # payload 为传入的参数
    payload = {"username":"vivi","password":"123456","remember_me":"false"}
    # json形式,参数用json
    res = requests.post(url,json=payload,headers=headers)
    print(res.text)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月14日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程