卷曲“(6)无法解析主机:http”

时间:2020-03-31 23:04:33

标签: elasticsearch curl

我正在尝试运行此命令

curl -XPUT -H "Content-Type: application/json" https://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

但这会导致此错误

curl: (6) Could not resolve host: http
curl: (3) unmatched close brace/bracket in URL position 5:
null}'

我从这里得到了这个命令

https://stackoverflow.com/a/50609418/3259896

我对卷曲或弹性搜索还不是很熟悉,所以我不确定如何查明错误

如果有所作为,我正在使用Windows。

我也尝试过

$ curl -X PUT -H "Content-Type: application/json" https://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

Edit2:

我尝试了

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

但是现在出现此错误

{"error":{"root_cause":[{"type":"json_parse_exception","reason":"Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@446f2dd5; line: 1, column: 2]"}],"type":"json_parse_exception","reason":"Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@446f2dd5; line: 1, column: 2]"},"status":400}curl: (3) unmatched close brace/bracket in URL position 5: null}' ^

然后我尝试

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d "{"index.blocks.read_only_allow_delete": null}"

我知道了

{"error":{"root_cause":[{"type":"json_parse_exception","reason":"Unexpected character ('i' (code 105)): was expecting double-quote to start field name\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@696b36d3; line: 1, column: 3]"}],"type":"json_parse_exception","reason":"Unexpected character ('i' (code 105)): was expecting double-quote to start field name\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@696b36d3; line: 1, column: 3]"},"status":400}

1 个答案:

答案 0 :(得分:2)

首先,在另一个SO问题中,ES节点是一个实时节点,因此其URL包含https

您的本地主机几乎肯定不会拥有https,因此将其更改为http

curl -XPUT -H "Content-Type: application/json" \
     http://localhost:9200/_all/_settings \
     -d '{"index.blocks.read_only_allow_delete": null}'

除此之外,只要您的ES 正在运行,一切就可以了。

成功后,您应该会收到一条简单消息:

{"acknowledged":true}

编辑:继续

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d "{\"index.blocks.read_only_allow_delete\": null}"