【问题标题】:Set content type of part of multipart/mixed request in CURL在 CURL 中设置部分多部分/混合请求的内容类型
【发布时间】:2014-12-01 14:53:21
【问题描述】:

我想在一个 http 请求中发送 json 请求和多个文件。我正在为此使用multipart/mixed 请求

curl -H "Content-Type: multipart/mixed" -F "request=@body.json; type=application/json" -F "file1=@2.xml" -F "file2=@2.pdf" -X POST hostName

request 字段具有 application/json 内容类型,通过该指示,我定义这部分是 json 请求,其他部分是文件。

我的问题是如何在 curl 请求中内联请求正文。我尝试使用

curl -H "Content-Type: multipart/mixed" -F "request={"param1": "value1"}" -F "file1=@2.xml" -F "file2=@2.pdf" -X POST hostName

request 的内容类型将是plain/text

【问题讨论】:

    标签: curl


    【解决方案1】:

    分号后可以添加内容类型信息:

    curl -H "Content-Type: multipart/mixed" -F "request={"param1": "value1"};type=application/json"
    

    【讨论】:

      【解决方案2】:

      要使用 curl 命令同时附加有效负载和文件,可以这样做。

      curl -i -X POST -H "Content-Type: multipart/mixed" \
      -F "somepayload={\"name\":\"mypayloadname\"};type=application/json" \
      -F "uploadfile=@somevalid.xml" http://localhost:8080/path/topost
      

      确保您对有效负载内容进行转义,并且 somevalid.xml 应该位于执行 curl 的同一目录中,或者将其替换为文件的有效路径。

      【讨论】:

      • 使用我的 curl 版本(7.52.1),它仍然有效-H "Content-Type: multipart/form-data",在外部文件中也有 json 内容,也就是说使用-F "info=@path/content.json;type=application/json" -F "file=@path/doc.pdf; type=application/pdf"
      猜你喜欢
      • 1970-01-01
      • 2014-09-07
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 2014-01-03
      • 1970-01-01
      相关资源
      最近更新 更多