我使用GitHub的Python库调用Blockchain.INFO的API:https://github.com/gowness/pyblockchain
我的代码可以在下面看到,当我运行代码时,我没有返回值。我没有关于课程等方面的最佳知识,但我已经简要地阅读过,这里出了什么问题?
import requests
import urllib
import json
from os.path import expanduser
import configparser
class Wallet:
guid = 'g'
isAccount = 0
isKey = 0
password1 = 'x'
password2 = 'y'
url = ''
def __init__(self, guid = 'g', password1 = 'x', password2 = 'y'):
if guid.count('-') > 0:
self.isAccount = 1
if password1 == '': # wallet guid's contain -
raise ValueError('No password with guid.')
else:
self.isKey = 1
self.guid = guid
self.url = 'https://blockchain.info/merchant/' + guid + '/'
self.password1 = password1
self.password2 = password2
def Call(self, method, data = {}):
if self.password1 != '':
data['password'] = self.password1
if self.password2 != '':
data['second_password'] = self.password2
response = requests.post(self.url + method,params=data)
json = response.json()
if 'error' in json:
raise RuntimeError('ERROR: ' + json['error'])
return json
def GetBalance(self):
response = self.Call('balance')
return response['balance']
Wallet().GetBalance()
答案 0 :(得分:1)
由于我无法针对您的网址成功进行POST调用,因此我稍微更改了您的代码,以便它不会查找错误'在json中,看看你的Count({FieldToCount},{GroupField1})
方法中发生了什么。
现在,知道通过进行失败的调用,json响应将是:
GetBalance
因此,在{u'error': u'Unknown Key Format'}
方法中,我只是在
GetBalance
我按预期得到了一个有效的json。
这一切都要说。尝试这样做,看看你得到了什么:
response = self.Call('balance')
根据回复的响应,这可能表示您没有为您尝试制作的POST方法向服务器提供适当的有效负载?