COSTDB POST запрос с использованием завитков

У меня установлена ​​CouchDB v2.2.0 на сервере Linux. У меня есть 5 баз данных создать:

  • десять кубометров
  • model_attribute_groups
  • mydemo
  • реестр
  • verifytestdb

Я могу успешно выполнить запрос Mango из Fauxton, используя содержимое файла json, указанного ниже.

Я могу успешно подключиться к базе данных model_attriubute_groups с другого сервера Linux с помощью команды curl GET:

curl -v http://my.server.com:5984/model_attribute_groups/_all_docs

Я пытаюсь составить команду curl для запуска запроса JSON Mango с другого Linux-сервера.

У меня есть мой Mango Query в файле: "mangoReqPay", который, как говорит ls -l, имеет длину 221 символ.

{  "selector": {"status":"stable", "model":"PC-20",  "variant":{    "$in": ["15",  "30"]    }  },  "fields":["_id","_rev","status",  "model","variant","variant-type",  "oem","historicaloem","displaymodel",  "sactmodel"]}

Вот команда, которую я пытаюсь использовать.

curl -H "Content-Type: application/json" \
 -H "Content-Length: 221" \
 -X POST \
 -d mangoReqPay \
 -H "Host: http://my.server.com:5984/model_attribute_groups\_find"

Когда я отправляю эту команду, я не получаю ответа, она просто сидит там, ожидая большего ввода.

Может кто-нибудь подтолкнуть меня в правильном направлении?

Спасибо

Богатые

1 ответ

Вы не указали URL. Ваше имя хоста в параметре "-H" НЕ является URL-адресом, который вы хотите запросить curl - он просто устанавливает заголовок.

Когда я запускаю команду, я получаю сообщение об ошибке (и это правильно):

curl: no URL specified!

Просто укажите URL, который вы хотите получить curl без каких-либо флагов в конце (или в начале).

Также вам не нужно "Content-Length: 221". Если вы хотите, чтобы он читал из файла, вы начинаете имя файла с '@'

Другие вопросы по тегам