<这时出人意料。在将输入数据作为xml发布到休息服务时从curl命令行

时间:2013-03-21 07:01:22

标签: windows json wcf rest curl

当我发布一个原始字符串作为JSON REST服务调用的输入时,它正在执行ex:

curl -d "{\"input1\": \"as\", \"input2\": \"ad\"}"  -i -X POST -H "Content-Type:application/json"  http://localhost/rtygies/Service1.svc/rest/receivedata1 

但是当我作为xml作为输入发布时,它会给出错误,如下所示:

curl -d "{\"input1\": \"<xml></xml>\", \"input2\": \"<xml></xml>\"}"  -i -X POST -H "Content-Type:application/json"  http://localhost/rtygies/Service1.svc/rest/receivedata1 

错误:&lt;此时出人意料

我在windows中使用curl。

任何人都可以说如何将xml作为字符串输入发布到来自curl的JSON格式的Rest服务

3 个答案:

答案 0 :(得分:6)

实际上,我不知道是什么情况, 但我得到一个错误< is unexpected this time 当我尝试以下命令(在Windows上)时:

curl -u admin:password -XPOST -H 'Content-type: text/xml' -d '<namespace><prefix>newWorkspace</prefix><uri>http://geoserver.org</uri></namespace>' http://localhost:8080/geoserver/rest/namespaces

然后我将单引号改为双引号并且有效。

答案 1 :(得分:0)

重定向符号可以通过&#34;

进行转义

尝试使用

curl -d "{\"input1\": \""<xml></xml>"\", \"input2\": \""<xml></xml>"\"}"  -i -X POST -H "Content-Type:application/json"  http://localhost/rtygies/Service1.svc/rest/receivedata1

答案 2 :(得分:0)

我没有双引号的运气,但是用^转义<和>对我有用。

所以你的卷发变得..

curl -d "{\"input1\": \"^<xml^>^</xml^>\", \"input2\": \"^<xml^>^</xml^>\"}"  -i -X POST -H "Content-Type:application/json"  http://localhost/rtygies/Service1.svc/rest/receivedata1