我尝试使用以下命令添加用户:
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。
发布于 2013-06-06 16:47:14
所以,我找到了答案。您需要将单引号(')替换为双引号("),然后转义JSON字符串(\")中的双引号。我认为应该在Acralyzer documentation中提到这一点,这样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"发布于 2018-01-11 10:35:24
我通过删除json中的空格修复了这个问题,并且它起作用了。也许在使用‘curl’命令时,参数中的空格不起作用。如果您仍然想保留空格,我建议您使用您自己答案中的解决方案,否则请尝试删除空格。
https://stackoverflow.com/questions/16939072
复制相似问题