如何使用curl在Windows下发布PUT请求?

时间:2010-11-23 15:14:24

标签: windows http command-line curl

我需要使用PUT请求在windows下通过curl.exe发布XML数据。

在我发现的卷曲帮助中:

-d/--data <data>   HTTP POST data (H)

我应该为<data>提供什么?

3 个答案:

答案 0 :(得分:14)

卷曲样本电话

# with inlining plain data
curl -X PUT -d "payload" http://localhost
# referrring file
curl -X PUT -d @myXmlFile.xml http://localhost

如果您的Windows curl-port不支持,请转到cygwin。它是一个类似Linux的Linux环境,并提供“适当”的卷曲。

答案 1 :(得分:7)

在Windows中,如果双引号参数本身包含双引号字符,则双引号必须加倍。

例如,输入'This is'引用“payload”为“This is”“quoted”“payload”,这与Unix中的有效差异很大。

示例:

curl -X PUT -d "This is ""quoted"" payload" http://localhost

答案 2 :(得分:3)

在Windows中

你需要将<放在中你要发送的文件的引号:

curl -XPUT --data-binary "@uploadme.txt"

否则你会在尝试使用文件内容作为网址时遇到奇怪的错误:

curl: (6) Couldn't resolve host 'upload'
curl: (6) Couldn't resolve host 'me!'

(uploadme.txt包含“上传我!”)