TypeError:列表索引必须是整数,而不是python POST请求中的str
嗨,我正在尝试向比特币交易所的API发送帖子 我的代码是:TypeError:列表索引必须是整数,而不是python POST请求中的str,python,curl,post,methods,Python,Curl,Post,Methods,嗨,我正在尝试向比特币交易所的API发送帖子 我的代码是: def exchange(method,params): key = "XXXXX" secret = "XXXX" params["method"] = method params ["time"] = time.time() urllib.parse.urlencode() sign = hashlib.sha256(params,"","&") sign = json.dumps(
def exchange(method,params):
key = "XXXXX"
secret = "XXXX"
params["method"] = method
params ["time"] = time.time()
urllib.parse.urlencode()
sign = hashlib.sha256(params,"","&")
sign = json.dumps(sign)
headers = ["key:" + key, "hash:" + sign]
headers = json.dumps(headers)
req = urllib2.Request('https://XXXX/api/')
req.add_header(headers)
r = urllib2.urlopen(req)
return
exchange(["getinfo"],["s"])
我有
TypeError:列表索引必须是整数,而不是str
只有回应
你知道如何格式化这些数据吗
params["method"] = method
这是您要输入错误的行。您试图用字符串遍历数组,这是没有意义的。方括号中的值必须是整数而不是字符串。为什么要将标题添加为JSON?我在api说明中读到了这一点。我不应该吗?它们只有php指令
req.add_header()
也有两个参数。你能不能把异常的完整回溯包括在内,这样我们就可以准确地指出异常是在哪里引发的,以及Python是如何达到这一点的?@MartijnPieters我粘贴了所有的代码,还有API的指令,然后先阅读Pythonurllib2
文档。不,这不是添加标题的方式。PHP代码也没有将HTTP头编码为JSON。我还注意到,您的头名称搞错了,API会查找API键
和API哈希
。我应该如何更改它?您想用这一行做什么?数组params只有一个元素-[“s”]它是我的过度组合的param,应该是空的。你能详细解释一下吗?嗯,那么如何将params[“method”]重写到字典中呢?