cURL 配置文件 (-k / --config) JSON 换行符
cURL config file (-k / --config) JSON newlines
我正在尝试构建一个 cURL 配置文件,该文件在 -d
/--data
正文中包含换行符,但它的工作方式似乎与命令行不同。
在命令行我可以运行:
curl -XPUT 'http://localhost:9200/mytype/_search' -d '{
"query": {
"match_all": {}
}
}'
并且数据主体被正确传递。
但是,如果我尝试在 curl -K
/--config
文件中执行此操作,则它不起作用。
test.curl:
-XPUT
-d '{
"query": {
"match_all": {}
}
}'
然后 运行 curl -K test.curl 'http://localhost:9200/mytype/_search
并且我向其提交数据的端点无法解析。如果我将所有数据放在一行中并使用双引号,我可以让它工作,但这会破坏我正在寻找的一些易读性。
test2.curl 有效
-XPUT
-d "{\"query\": {\"match_all\": {} } }"
我也曾尝试复制这个 heredoc
答案:How to send line break with curl? 但同样它在 --config
文件中不起作用
你可以 data-binary = "@requestbody.json"
而不是 -d "{\"query\": {\"match_all\": {} } }"
然后在 requestbody.json:
{
"query": {
"match_all": {}
}
}
我正在尝试构建一个 cURL 配置文件,该文件在 -d
/--data
正文中包含换行符,但它的工作方式似乎与命令行不同。
在命令行我可以运行:
curl -XPUT 'http://localhost:9200/mytype/_search' -d '{
"query": {
"match_all": {}
}
}'
并且数据主体被正确传递。
但是,如果我尝试在 curl -K
/--config
文件中执行此操作,则它不起作用。
test.curl:
-XPUT
-d '{
"query": {
"match_all": {}
}
}'
然后 运行 curl -K test.curl 'http://localhost:9200/mytype/_search
并且我向其提交数据的端点无法解析。如果我将所有数据放在一行中并使用双引号,我可以让它工作,但这会破坏我正在寻找的一些易读性。
test2.curl 有效
-XPUT
-d "{\"query\": {\"match_all\": {} } }"
我也曾尝试复制这个 heredoc
答案:How to send line break with curl? 但同样它在 --config
文件中不起作用
你可以 data-binary = "@requestbody.json"
-d "{\"query\": {\"match_all\": {} } }"
然后在 requestbody.json:
{
"query": {
"match_all": {}
}
}