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

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

在卷发帮助中我发现:

-d / – data <data> HTTP POST数据(H)

我应该提供什么<data>?

卷曲示例调用

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

如果你的窗口卷曲端口不支持它去cygwin 。 这是一个类似于linux的环境,也提供了“合适”的卷曲。

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

例如,输入“This is”引用的“有效载荷”为“This is”“quoted”“payload”,这与Unix中的有很大不同。

例:

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

在Windows中,您需要将@发送到您要发送的文件的引号中:

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

否则你会得到奇怪的错误,因为它试图使用该文件的内容作为网址:

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

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