【发布时间】:2018-04-08 17:13:54
【问题描述】:
我开始使用 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."}
我尝试了各种组合,使用 localhost,使用和不使用端口号,我尝试使用 X-Forwarded-Host,我找到了十几篇关于 POST 与 PUT 和版本控制的相关文章,但我走到了死胡同,无法弄清楚我错过了什么。
注意。我在 OSX 笔记本电脑上运行 couchdb1.7.x。
【问题讨论】:
-
引用者必须是 URL,而不仅仅是主机名。在那之后您可能仍然会收到另一个错误,因为我认为它不需要引用来进行此类查询。
-
@EricDarchis 我想我尝试了所有可能的组合 - IP 地址、主机名、完全限定的 URL、路径等等。