带curl的JSONRPC请求

时间:2014-06-23 14:40:08

标签: json curl json-rpc

对于使用字典作为参数的所有请求,我有一个32602错误,而这些错误与简单的参数一起使用。

例如:

curl -d '{"id":"json","method":"add","params":[1,2] }' -o – ‘http address for json rpc’

有效,但是:

curl -d '{"id":"json","method":"add","params":[{"a":2,"b":3}] }' -o – ‘http address for json rpc’’

返回32602错误(无效参数!!!)

我需要在params中输入名称和类型,我需要一个字典,但是我收到了32602错误。有什么问题?

2 个答案:

答案 0 :(得分:3)

您收到的特定错误(“无效参数”)确实表明您所调用的特定方法的参数类型可能是错误的,但是对于正在寻找使用curl进行JSON-RPC调用的一般指导的任何人,可能不是问题。

对于JSON-RPC 2.0,规范要求传递一个字符串,以指定协议版本"jsonrpc": "2.0",该字符串在问题的示例中丢失。

这是一个符合要求的工作呼叫示例(已通过jayson服务器测试):

curl -X POST \
     -H 'Content-Type: application/json' \
     -d '{"jsonrpc":"2.0","id":"id","method":"add","params":[1, 2]}' \
     http://localhost:3000

答案 1 :(得分:0)

尝试在秒尝试中从对象括号周围删除数组括号[]。

像:

curl -d '{"id":"json","method":"add","params":{"a":2,"b":3} }' -o – ‘http address for json rpc’’