微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在发布之前,如何删除通过Scala中的Gatling构建的Multipart Request的Content-Disposition部分

如何解决在发布之前,如何删除通过Scala中的Gatling构建的Multipart Request的Content-Disposition部分

当前的任务是通过Scala中的gatling构建一个多部分/混合的POST请求部分Stringbody零件文件

问题是:在构建请求时,添加了“内容处置:表单数据”,这使请求无效。这是请求的代码

def upload() = {
    val json = JsonClass()
    val jsonToString = new Serialization
    val result: String = jsonToString.mapToJsonString(json)
    exec(http("Title")
      .post(API)
      .header("Authorization","Bearer ${access_token}")
      .header("Content-Type","multipart/mixed")
      .bodyPart(StringBodyPart(result))
      .bodyPart(RawFileBodyPart("File.csv"))
      .check(status.is(201)))
    }

这是查尔斯发出的请求的样子:

--1t8F0KWNtHfCs5Vs6v_13YqJorjQxbnn-PX
Content-disposition: form-data

{JsonBodyString}
--1t8F0KWNtHfCs5Vs6v_13YqJorjQxbnn-PX
Content-disposition: form-data; filename="File.csv"
Content-Type: text/csv

File Content is here

--1t8F0KWNtHfCs5Vs6v_13YqJorjQxbnn-PX--

这是请求的外观:

--1t8F0KWNtHfCs5Vs6v_13YqJorjQxbnn-PX
Content-Type: application/json

{JsonBodyString}
--1t8F0KWNtHfCs5Vs6v_13YqJorjQxbnn-PX
Content-Type: text/csv

File Content is here

--1t8F0KWNtHfCs5Vs6v_13YqJorjQxbnn-PX--

因此,我需要发送没有两行“ Content-disposition:”行的请求。

“。bodyPart()”看起来像是自动设置的。

注意: 我在Charles的请求上放置了一个断点,并编辑了请求以删除这2行,并检查它是否通过,并且它确实通过了,所以问题出在这2行。

更新似乎内容配置不是问题。 我设法发送了请求。 唯一缺少的是: “ Content-Type:application / json”行,我可以添加它,但是它还添加一个“ Charset”,我需要摆脱它。

最终更新我设法通过将内容类型添加到多部分请求的第一部分来发布请求并获得成功,如下所示:

def upload() = {
    val json = JsonClass()
    val jsonToString = new Serialization
    val result: String = jsonToString.mapToJsonString(json)
    exec(http("Title")
      .post(API)
      .header("Authorization","multipart/mixed")
      .bodyPart(StringBodyPart(result).header("Content-Type","application/json"))
      .bodyPart(RawFileBodyPart("File.csv"))
      .check(status.is(201)))
    }

致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。