使用 --data-binary 通过 cURL 发布 XML

使用 --data-binary 通过 cURL 发布 XML

我遇到了一个非常典型的问题。我有一个 XML 文件需要发布到服务器。该网站的网络工程师告诉我使用 cURL 函数。他提供给我的函数是...

curl --data-binary @/opt/somefile.xml http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567

当我运行此命令时,我不断收到错误“错误的 URL,返回 400 状态”

我已经在这个问题上困扰了很长时间,我感到非常沮丧。我试过运行...

curl http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567

我收到了来自机器的响应“测试消息”,以及主机系统的一些标识参数。这可能意味着目标 URL 正常,并且正在通过 cURL 命令进行访问。

通过 --data-binary 发送 XML 文件有什么特殊要求吗?XML 是否需要以特殊方式格式化?cURL 命令的语法是否不正确?

任何帮助都将不胜感激!

答案1

HTTP 代码 400 错误请求表示您发送的请求存在错误。这可能是由于开发人员编程的任何原因造成的。它旨在指示用户错误。

如果此 URL 用于接收 XML,则可能只是意味着您缺少标Content-Type头。要指定该标头:

curl http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567 --header "Content-Type:application/xml"

相关内容