使用curl发布文件 - multipart / form-data

时间:2014-04-30 04:45:03

标签: curl

我正在尝试使用curl将一个xml文件(utf-16编码)发布到REST服务。 REST服务期待“multipart / form-data'内容类型。

卷曲脚本: curl -k -i -H" Content-Type = multipart / form-data" -F" filename = @ file.xml; type = text / xml" -X POST -u:

但是,我在运行脚本时遇到500内部服务器错误。

响应: < = Recv标头,23个字节(0x17) 0000:HTTP / 1.1 100继续 < = Recv标头,36字节(0x24) 0000:HTTP / 1.1 500内部服务器错误

通过Chrome添加' postman app'我能够成功地将xml发布到REST服务。

无法找出导致500错误的问题。请帮助我解决这个问题。

此致 Anooja

1 个答案:

答案 0 :(得分:1)

首先在命令行中使用一些挑剔:

  1. 您提供的Content-Type标头错误,名称/内容应使用冒号分隔。
  2. 您甚至不需要-H as -F自行设置内容类型
  3. “-X POST”是多余的,因为-F将使用POST
  4. 然后,将--trace--trace-ascii添加到命令行以捕获整个请求,然后捕获使用chrome执行的整个工作请求,然后进行比较。如果存在差异,则将curl命令行调整为更像浏览器版本。重新迭代直到它工作。