0

我已经创建了一个管理服务器。如果我尝试访问http://localhost:5984/_utils/config.html

蒲团问我管理员的凭据,如果我输入用户名和密码,一切正常。但是如果我尝试运行命令:

curl -X POST http://username:password@localhost:5984/_session

带有 HTTP 401 错误的 couchdb 响应。消息是

{error":"unauthorized","reason":"Name or password is incorrect."}

但我确定用户名和密码是正确的。实际上,如果我尝试运行命令:

curl -X GET "http://username:password@localhost:5984/_session"

响应正常,内容消息告诉我我有 _admin 的角色。

因此为什么 POST 方法不起作用?

4

1 回答 1

1

您需要POST将用户名和密码作为 URL 编码的POST正文,或作为 JSON 对象:

name=root&password=relax

或者:

{
    "name": "root",
    "password": "relax"
}

您需要为任何一个设置正确的 Content-Type 标头。

有关详细信息,请参阅官方文档http://docs.couchdb.org/en/latest/api/server/authn.html

于 2013-11-07T12:27:53.640 回答