我需要使用PUT请求在windows下通过curl.exe发布XML数据。
在我发现的卷曲帮助中:
-d/--data <data> HTTP POST data (H)
我应该为<data>
提供什么?
答案 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)
你需要将<放在中你要发送的文件的引号:
curl -XPUT --data-binary "@uploadme.txt"
否则你会在尝试使用文件内容作为网址时遇到奇怪的错误:
curl: (6) Couldn't resolve host 'upload'
curl: (6) Couldn't resolve host 'me!'
(uploadme.txt包含“上传我!”)