当前位置: 首页 > 知识库问答 >
问题:

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

孔海超
2023-03-14

我正在尝试使用curl向REST服务发布一个xml文件(utf-16编码)。REST服务需要“multipart/form-data”内容类型。

Curl脚本: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 Continue<=Recv头,36字节(0x24)0000:HTTP/1.1 500内部服务器错误

通过Chrome的add on“Postman app”,我能够成功地将xml发布到REST服务。

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

问候Anooja

共有1个答案

周涵畅
2023-03-14

首先,命令行上的一些挑剔之处:

  1. 您提供的内容类型标头错误,名称/内容应用冒号分隔。
  2. 您甚至不需要-h作为-f自行设置内容类型
  3. “-x POST”是多余的,因为-f已经使用了POST

然后,将--trace--trace-ascii添加到命令行以捕获整个请求,然后捕获使用chrome执行的整个工作请求,然后进行比较。在存在差异的地方,您可以调整curl命令行,使其更像浏览器版本。重新迭代直到它工作。

 类似资料:
  • 我正在尝试从我的电脑上传图像到一个使用Go的网站。通常,我使用一个bash脚本,向服务器发送一个文件和一个密钥:

  • 在结果上,当我运行我的脚本时,它可以更新这些变量,但没有图像运气…我很困惑...我应该做什么来放入变量? 我从谷歌学到了一切,现在我被困住了,因为我没有任何深度编程的知识,你能帮我做什么把图像放进$data数组吗? 我试图在以下线程上查看:multipart/form-data进入数组不处理multipart/form-data php curl将原始图像数据作为multipart/form-da

  • 问题内容: 我正在尝试使用伪装完成多部分文件上传,但似乎在任何地方都找不到很好的示例。我本质上希望HTTP请求类似于以下内容: 甚至… 我是否需要手动构建请求主体,包括生成多部分边界?考虑到此客户端可以执行的其他所有操作,这似乎有点过头了。 问题答案: 不,你没有。您只需要定义一种代理接口方法,将content-type指定为:multipart / form- data和其他信息,例如远程API

  • 我试图使用feign完成一个多部分文件上传,但是我似乎在任何地方都找不到一个好的例子。我基本上希望HTTP请求的结果类似如下: 或者甚至… 我需要手动构建请求体吗,包括生成多部分边界?考虑到这个客户端可以做的所有其他事情,这似乎有点过分。

  • 问题内容: 我正在开发使用不同服务其余部分的图形界面(用Java编写)。我必须调用这样的服务: 呼叫服务: 当我从Angularjs服务文件中请求时,如果服务具有Content-Type = multipart / form- data,则会收到错误400(错误请求) 如果服务的Content-Type =“ application / x-www-form-urlencoded; charset

  • 我试图用C#代码在一个请求中上传image和json,但服务器总是返回400个错误的请求。使用fiddler执行相同的请求返回状态代码200。帮忙... 以下是我的小提琴手代码: ------WebKitFormBoundary7MA4YWXKTRZU0GW内容-配置:表单-数据;name=“application/json”content-type:application/json 反应总是一样