发送xml over curl

我正在使用一个网页界面,允许我通过卷曲请求发布内容.

示例帖子如下所示:

<status>A note</status>

但每当我尝试发送它时,它似乎都不接受XML

curl http://website.com/update -d '<?xml version="1.0" encoding="UTF-8"?><status>test</status>' -H 'Accept: application/xml' \ -H 'Content-Type: application/xml'  -u username:password

我可以做任何其他类型的请求,只是发送这个XML似乎不起作用,我在这里做错了什么?

解决方法

要使用curl发送数据(xml,json,text等),你必须使用POST方法添加–data-urlencode参数,如下所示:

curl -X POST http://website.com/update \
  --data-urlencode xml="<status>A note</status>" \
  -H 'Accept: application/xml' \
  -H 'Content-Type: application/xml' \
  -u username:password

要么

curl -X POST http://website.com/update \
  --data-urlencode "<status>A note</status>" \
  -H 'Accept: application/xml' \
  -H 'Content-Type: application/xml' \
  -u username:password

如果你想通过GET发送我认为你必须在调用curl命令之前编码字符串

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念