Ответ 1
Попробуйте заключить URL-адрес в команде с двойными кавычками следующим образом:
curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore"
Надеюсь, что это поможет
Я пытаюсь перезагрузить ядро Solr (версия 3.6.0) с помощью следующего предложения:
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore
Когда я его выполнил, я получаю следующий ответ:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1316</int>
</lst>
</response>
Я получаю аналогичный ответ, когда я помещаю такой URL в свой браузер (разница в значении QTime).
Моя проблема заключается в том, что, если я вызываю URL-адрес из браузера, я могу видеть в информации журнала, что перезагрузка выполняется, но если я вызываю ее из оператора CURL, я ничего не вижу в своей информации о журнале (то есть, процесс перезагрузки не выполняется).
Нужно ли мне менять некоторые данные конфигурации? Похоже, что вызов не поступает на сервер Solr...
Попробуйте заключить URL-адрес в команде с двойными кавычками следующим образом:
curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore"
Надеюсь, что это поможет
1. Попробуйте использовать -A для указания User-Agent
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore
2.Curl не может выполнять скрипты js
Поэтому убедитесь, что это не из-за сценариев js.
Вы можете использовать инструменты разработчика хром или Firebug + Firefox, чтобы проверить процесс http-связи.
3.Используйте wirehark или sth, чтобы проверить, "идет ли вызов к серверу Solr" или нет.
Я надеюсь, что это поможет.