首页 文章

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

提问于
浏览
1

我试图使用 curl 将一个 xml 文件(utf-16 encoded)发布到 REST 服务。 REST 服务期望'multipart/form-data'内容类型。

卷曲脚本:卷曲-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 回答

  • 1

    首先是命令行上的一些挑剔:

    • 你提供的 Content-Type 标题是错误的,name/contents 应该用冒号分隔。

    • 您甚至不需要-H 作为-F 自己设置 content-type

    • “-X POST”是多余的,因为-F 将使用 POST

    然后,将--trace--trace-ascii添加到命令行以捕获整个请求,然后捕获使用 chrome 执行的整个工作请求,然后进行比较。如果存在差异,则将 curl 命令行调整为更像浏览器版本。 Re-iterate 直到它起作用。

相关问题