【问题标题】:Java+restassured remove Content-Transfer-Encoding: binary from multipart requestJava+restassured 从多部分请求中删除 Content-Transfer-Encoding: binary
【发布时间】:2023-02-10 10:34:10
【问题描述】:

我目前正在测试一个非常具体的 API,它拒绝接受具有 Content-Transfer-Encoding: binary 的请求。我抛出 415 - 不受支持的媒体类型错误。但是,当我发送相同的文件并使用邮递员构建相同的请求时,它会毫无问题地接受它。查看服务中收到的日志,这两个请求的唯一区别是放心的请求在正文中包含 Content-Transfer-Encoding: binary。这是它的样子:

因此,为了调试和查明这是否确实是请求失败的原因,我想从正文中删除 Content-Transfer-Encoding: binary。但我不知道如何。我尝试使用以下代码,但请求仍然存在。这是我正在使用的代码:

request = given()
            .header("Authorization", "Bearer " + LoginSteps.accessToken)
            .queryParam("memberId", memberId)
            .multiPart("receipt", new File(receiptFilePath), "image/jpeg")
            .urlEncodingEnabled(false)
            .config(RestAssuredConfig.config()
                    .encoderConfig(EncoderConfig
                            .encoderConfig()
                            .appendDefaultContentCharsetToContentTypeIfUndefined(false)
                            .encodeContentTypeAs("image/jpeg", io.restassured.http.ContentType.ANY)));

request.post(baseUrl + endpoint);

谁能告诉我如何从此请求中删除 Content-Transfer-Encoding?

【问题讨论】:

  • 这回答了你的问题了吗? RESTAssured Multipart content-type
  • 不,它没有。它处理请求标头中的内容类型,而不是导致我出现问题的正文中的 Content-Transfer-Encoding
  • 邮递员在您的请求中添加一个额外的标头,将这些标头与您的标头进行比较,并将缺失添加到您的 RA 代码中

标签: java api rest-assured


【解决方案1】:

这解决了吗?如果这是固定的,你能发布你使用的分辨率吗?我面临完全相同的错误:MIMEpart 标头中的意外行:Content-Transfer-Encoding: binary

【讨论】:

    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2015-10-20
    • 2011-11-09
    • 2017-10-03
    相关资源
    最近更新 更多