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