我试图使用 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 回答
首先是命令行上的一些挑剔:
你提供的 Content-Type 标题是错误的,name/contents 应该用冒号分隔。
您甚至不需要-H 作为-F 自己设置 content-type
“-X POST”是多余的,因为-F 将使用 POST
然后,将
--trace
或--trace-ascii
添加到命令行以捕获整个请求,然后捕获使用 chrome 执行的整个工作请求,然后进行比较。如果存在差异,则将 curl 命令行调整为更像浏览器版本。 Re-iterate 直到它起作用。