我是linux用户。 我有一个XML文件调用config.xml。下面是文件的负责人:
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<logRotator>
<daysToKeep>-1</daysToKeep>
<numToKeep>10</numToKeep>
...
我正试图发布它:
curl --user“USERNAME:PASSWORD”-X POST -d“@ config.xml”-H“Content-Type:text / xml; charset = utf-8”http://example.com
发布了config.xml但是内容没有回车。如:
<?xml version="1.0" encoding="UTF-8"?><project> <actions/> <description/> <logRotator> <daysToKeep>-1</daysToKeep> <numToKeep>10</numToKeep> ...
到目前为止已完成的测试:
我实际上运行了“od -tc config.xml”,原始文件包含“\ r”字符,但发布的xml文件不包含它。
我尝试使用内容类型“application / xml”和“plain / text”发送它,但它仍然是相同的方式。 (我想也许回车会用二进制或ascii类型保存)
我试图运行unix2dos,可能会在它的行尾添加“\ n”(使用od -tc测试),但它也无法解决问题。
< / LI>请告诉我是否应该做其他事情?
PS
如果有帮助,这与hudson构建服务器相关,并为已存在的任务发布config.xml文件。
谢谢
答案 0 :(得分:3)
而不是使用curl的-d(或--data)选项,使用保留文件的选项:
--data-binary <data>
(HTTP) This posts data exactly as specified with no extra pro‐
cessing whatsoever.