【问题标题】:Curl "(6) Could not resolve host: http"卷曲“(6)无法解析主机:http”
【发布时间】:2020-07-12 15:13:39
【问题描述】:

我正在尝试运行此命令

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

我对 curl 和 elasticseach 还不是很熟悉,所以我不确定如何查明错误

如果有什么不同,我使用的是 Windows。

我也试过了

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

编辑2:

我试过了

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}

【问题讨论】:

    标签: elasticsearch curl


    【解决方案1】:

    首先,在另一个 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}"
    

    【讨论】:

    • 我试过这个,但现在得到一个不同的错误,原来的问题更新了新的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多