我无法使用curl或任何第三方couchdb客户端库访问CouchDB实例。
它返回: 401未经授权!
我在用网址
https://instance.smileupps.com/
使用curl,这是我输入的命令行:
curl https://instance.smileupps.com/
发布于 2014-12-02 10:33:49
"401未经授权“意味着您的实例不在管理方中(您已经指定了至少一个管理员凭据对)。
在这种情况下,应该通过curl或任何第三方客户端库发送经过身份验证的请求。
1)简单的方法(不使用特殊字符的凭据)
您可以使用修改后的url,方法是在主机名前加上用户名:密码,如下所示:
https://my_username:my_password@instance.smileupps.com
这几乎总是很好..。
2)棘手但更安全的方法(更可靠、更安全)
如果1)不起作用,可能是在用户名或密码中使用特殊字符,而curl或couchdb库在发送请求之前不能正确解析url。
在这种情况下,您可以通过发送http基本授权头来执行身份验证.这是一个标题,类似于:
授权:基本bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=
其中"bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=“是"my_username:my_password”的base64_encode。您可以使用base64在线编码器服务对自己的凭据进行编码。
因此,curl命令行将成为,类似于:
> curl -v -H "Authorization: Basic bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=" -H
> "Content-type:application/json" -X GET
> https://instance.smileupps.com/mydatabasename如果您正在使用第三方库,则应该在其文档中找到添加自定义标头的方法,并添加以下内容:
授权:基本bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=
https://stackoverflow.com/questions/27247217
复制相似问题