1

我尝试使用以下方法添加用户:

curl -X PUT -u myUsername:myPassword http://kaydee.iriscouch.com/_users/org.couchdb.user:myNewUsername -d '{"name":"myNewUsername", "password":"myNewUserPassword", "roles":["reporter", "reader"], "type":"user"}' -H "Content-Type: application/json"

回应是:

{"error":"bad_request","reason":"invalid_json"}
curl: (6) Could not resolve host: password
curl: (3) [globbing] error: bad range specification after pos 8
curl: (3) [globbing] unmatched close brace/bracket at pos 7
curl: (3) [globbing] unmatched close brace/bracket at pos 10

我使用的是 Windows 8。我需要对命令进行任何更改吗?

而且我相信 IrisCouch 正在使用 CouchDB 1.2。

4

2 回答 2

8

所以,我找到了答案。您需要将单引号 (') 替换为双引号 ("),然后转义 JSON 字符串 (\") 中的双引号。我认为这应该在Acralyzer 文档中提到,这样 Windows 用户就不需要采取额外的步骤来找到解决方案。

curl -X PUT -u myUsername:myPassword http://kaydee.iriscouch.com/_users/org.couchdb.user:myNewUsername -d "{\"name\":\"myNewUsername\", \"password\":\"myNewUserPassword\", \"roles\":[\"reporter\", \"reader\"], \"type\":\"user\"}" -H "Content-Type: application/json"
于 2013-06-06T08:47:13.830 回答
-1

我通过删除 json 中的空格来解决这个问题,它起作用了。使用“curl”命令时,参数中的空格可能不起作用。如果您仍想保留空格,我建议您使用自己答案中的解决方案,否则尝试删除空格。

于 2018-01-11T02:35:24.263 回答