我从 Mac OSX 的终端发送以下 curl 命令:
curl -d "OPERATION_NAME=ADD_REQUEST&TECHNICIAN_KEY=1AD….4&INPUT_DATA=TestData.xml" http://xxx.xx.xx.xx/sdpapi/request/
我收到了回复:
执行时出现 FailedError - ADD_REQUEST - prolog 中不允许内容。
这是我的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Operation>
<Details>
<requester>Me</requester>
<subject>Test</subject>
<description>Testing curl input</description>
</Details>
</Operation>
我检查过,我的 xml 文件确实是一个 UTF-8 文件。我可以从谷歌搜索中看出,这很可能与我的编码有关,但是,我找不到解决方法。
我还尝试在我的电脑上将 xml 文件保存为 ANSI,xml 文件如下所示:
<?xml version="1.0"?>
<Operation>
<Details>
<requester>Me</requester>
<subject>Test</subject>
<description>Testing curl input</description>
</Details>
</Operation>
我下载了 Notepad++ 并检查了编码,它是没有 BOM 的 UTF8。
我仍然遇到同样的错误。谁能看到我做错了什么?
更新 9/19 添加:
除了我在下面的评论中尝试过的所有内容之外,我还尝试过这个:
curl -d "OPERATION_NAME=ADD_REQUEST&TECHNICIAN_KEY=xxxxxxxxxxxxxxxxx&INPUT_DATA=<?xml version="1.0" encoding="utf-8"?><Operation><Details><requester>Me</requester><subject>Test</subject><description>Testing curl input</description></Details></Operation>" http://xxx.xx.xx.xx/sdpapi/request/
我现在得到的错误是:“执行时出错 - ADD_REQUEST - XML 声明中“版本”后面的值必须是带引号的字符串。”
有人有什么想法吗?