聚币网API[Python3版]

代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import hashlib
import requests
import time
import urllib
import hmac
import urllib.parse
from collections import OrderedDict

# coin
coin = 'btc'
public_key = ''
private_key = ''

# send requests
def post(method, params):
    Od = OrderedDict()
    Od['coin'] = coin
    Od['key'] = public_key
    Od['nonce'] = int(time.time())
    Od['version'] = 2

    for i in params:
        Od[i] = params[i]

    Od['signature'] = signature(Od)
    print (Od)
    response = requests.post('https://www.jubi.com/api/v1/' + method, data=Od)
    if response.status_code == 200:
        print(response.text)
    else:
        print(response.status_code)

# create signature
def signature(params):
    payload = urllib.parse.urlencode(params)
    pl = payload.encode()
    pk = private_key.encode()
    md5prikey = hashlib.md5(pk).hexdigest()
    md5prikey = md5prikey.encode()
    sign = urllib.parse.quote(hmac.new(md5prikey, pl, digestmod=hashlib.sha256).hexdigest())
    return sign

# get balance
def balance():
    post('balance',{})

balance()

另外,Python3的Post方法

import urllib.request
import urllib.parse

data = urllib.parse.urlencode({'nonce': 150320072902, 'key': 'abcdefg', 'signature': 'abcdefgabcdefg'})
data = data.encode('utf-8')
request = urllib.request.Request("https://www.jubi.com/api/v1/balance")
f = urllib.request.urlopen(request, data)
print(f.read().decode('utf-8'))
print(f.read())

GET方法

>>> import urllib.request
>>> import urllib.parse
>>> params = urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> url = "http://www.musi-cal.com/cgi-bin/query?%s" % params
>>> with urllib.request.urlopen(url) as f:
...     print(f.read().decode('utf-8'))
原文地址:https://www.cnblogs.com/bitquant/p/jubi-api-python3.html