找不到GET命令

时间:2018-02-02 11:10:21

标签: http

我是一名学生,我需要与DB合作,但这不是我的领域。

在文档中说明要输入

GET /_cat/health?v

这会返回错误

-bash: GET: command not found

它还建议我复制为卷曲。然后有效的命令是

curl -XGET 'localhost:9200/_cat/health?v&pretty'

我可以使命令“GET / _cat / health?v”起作用吗?

2 个答案:

答案 0 :(得分:1)

GETrequest method协议的HTTP。如果您不编写HTTP服务器或客户端软件,则不必明确处理它。

命令行

curl -XGET 'localhost:9200/_cat/health?v&pretty'

告诉curl使用http://localhost:9200/_cat/health?v&pretty request method请求网址GET

GET是默认方法,您无需明确指定。

此外,您向curl提供的第二个参数不是URL。 curl很好,并将其完成到正确的URL,但其他期望URL的程序可能无法正常工作(出于各种原因)。最好始终指定完整的URL以获得您期望的行为。

您的命令行应该是:

curl 'http://localhost:9200/_cat/health?v&pretty'

URL周围的撇号是必需的,因为它包含shell特有的字符(&)。用撇号括起来的字符串告诉shell不要解释其中的任何特殊字符。

如果没有撇号,shell认为curl命令在&结束,而pretty是一个不同的命令,结果不是你所期望的。

在幕后,curl使用HTTP连接到端口localhost上的服务器9200,然后将其发送到HTTP request

GET /_cat/health?v&pretty

答案 1 :(得分:0)

当您开始使用Elasticsearch时,他们要求您测试安装的第一件事就是执行GET / _cat / health?v,如下所示: enter link description here

正如Ravi Sharma前面解释的那样,他们没有告诉您这在终端中将不起作用。弹性搜索小组也许应该对此进行澄清。至少他们提供了“复制为cURL”链接。对于刚接触这个的人来说,这真令人沮丧。