我正在通过curl发布一个文本文件,其中包含多行的列表到我的服务.当我在Spring MVC控制器中读取请求的主体时,没有新行字符,所有文本都在一行上.
curl会删除换行符吗?有没有办法维护新行字符,因为我需要它们来解析文本.这是我用来阅读帖子正文的代码片段:
StringBuilder builder = new StringBuilder();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null) {// this is just one line of text!
builder.append(line);
}
} catch (Exception e) {
//handle exception
}
Run Code Online (Sandbox Code Playgroud) 如何重写以下CURL命令,以便它不使用该-F选项,但仍然生成完全相同的HTTP请求?即,以便它直接传递身体中的multipart/form-data.
curl -X POST -F example=test http://localhost:3000/test
Run Code Online (Sandbox Code Playgroud) 我想发送新行字符作为post请求(文本)变量的值的一部分.我正在使用wget来发出请求.我该如何编码呢?
我正在尝试构建一个在-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文件中不起作用
我正在尝试使用bash脚本中的curl通过pushover发送通知.我无法curl -F正确解释断线.
curl -s \
-F "token=TOKEN" \
-F "user=USER" \
-F "message=Root Shell Access on HOST \n `date` \n `who` " \
https://api.pushover.net/1/messages.json > NUL
Run Code Online (Sandbox Code Playgroud)
我试过了:
\n
\\\n
%A0
Run Code Online (Sandbox Code Playgroud)
我宁愿直接推送消息,而不是通过文件.