如何在curl.exe的-d参数中发送双引号?

时间:2010-12-22 22:13:30

标签: windows curl

如何在-d参数中使用curl.exe发送双引号char。我不想对双引号进行URL编码。由于-d数据需要用双引号括起来,我似乎无法使它工作。

或者是否有另一个curl.exe标志告诉它使用整个表单发布数据的文件内容?

5 个答案:

答案 0 :(得分:34)

我的curl.exe适用于此表单:

-d "{\"param\":\"value\"}"

即。双引号围绕数据,双引号用

中的反斜杠掩盖

答案 1 :(得分:13)

你绝对可以逃避双引号。如何执行此操作取决于您未指定的操作系统和shell。在Windows上,您将使用^作为转义字符。

你也可以这样做:

curl [...] -d @filename 

...从名为filename的文件中读取发布数据。

谷歌和/或男人是你的朋友。

http://curl.haxx.se/docs/manpage.html

答案 2 :(得分:5)

您可以使用单引号括起数据,并在里面使用双引号。

答案 3 :(得分:5)

为了逃避双引号问题,我发现双引号在shell中运行三倍:

curl -d {"""foo""":"""bar"""}

同时将双引号加倍在批处理文件中:

curl -d {""foo"":""bar""}

首先在shell中进行测试非常烦人。

答案 4 :(得分:-1)

有些东西叫做美元斜线字符串

def cmd = $/ curl -d '{"param":"value"}' -X POST https://example.com/service /$
sh cmd