发送xml over curl

时间:2012-05-17 09:51:20

标签: xml post 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似乎不起作用,我在这里做错了吗?

1 个答案:

答案 0 :(得分:7)

要使用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命令之前对字符串进行编码