尝试使用 _find 时,couchdb 中出现“Referer Header Required”错误

Mat*_*ght 7 macos curl couchdb

我开始使用 CouchDB,并开始构建应用程序。我可以使用 CURL 很好地书写和阅读,但是我已经开始尝试使用 _find 进行搜索,并且收到一条错误消息,指出“需要引用标头”。

curl -X POST http://localhost:5984/mydb/_find -d '{"selector":{"member.email":"foo@bar.com"}}

返回:

{"error":"bad_request","reason":"Referer header required."}

当我尝试在呼叫中添加“Referer”主机时,它只是说引用者需要匹配主机,但我不知道主机是什么意思。

curl -X POST http://localhost:5984/mydb/_find -d '{"selector":{"member.email":"matthew"}}' -H "Referer: localhost" {"error":"bad_request","reason":"Referer header must match host."}

我尝试了各种组合,使用本地主机,使用和不使用端口号,我尝试使用 X-Forwarded-Host,我找到了十几篇关于 POST 与 PUT 和版本控制的相关文章,但我已经走到了死胡同,只是无法弄清楚我错过了什么。

备注 我在 OSX 笔记本电脑上运行 couchdb1.7.x。

小智 1

可能为时已晚,但对于接下来讨论这个主题的人(比如我)来说,问题是:

http://localhost:5984/mydb/_find
Run Code Online (Sandbox Code Playgroud)

当您尝试更改 PUT 中的 POST 时,您会遇到问题:

"reason":"Only reserved document ids may start with underscore."
Run Code Online (Sandbox Code Playgroud)

_document 引用特殊函数,因此只需更改文档的名称:)

(应该在这两个帖子/之后都起作用)