我正在使用一个网络界面,允许我通过卷曲请求发布内容。
示例帖子如下所示:
<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似乎不起作用,我在这里做错了吗?
答案 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
命令之前对字符串进行编码