【发布时间】:2020-06-10 09:15:30
【问题描述】:
我正在尝试复制一个邮递员 put 请求,它在代码给出的 S3 位置上传一个 csv 文件。
查询参数为{X-Amz-Date=20200226T113914Z, X-Amz-Algorithm=AWS4-HMAC-SHA256, X-Amz-Signature=<Some Signature>, X-Amz-SignedHeaders=content-type%3Bhost, X-Amz-Security-Token=<SOME TOKEN HERE>, X-Amz-Credential=ASIAV7AYOYCBQB4VDGD7%2F20200226%2Fus-east-1%2Fs3%2Faws4_request, X-Amz-Expires=3600}
但我总是收到 400 个错误请求。该请求也不需要任何其他身份验证令牌。有人可以帮我弄这个吗。
我已经访问并尝试了链接
Uploading file to S3 using Rest Assured multipart
https://groups.google.com/d/topic/rest-assured/MPzbiozclqg
https://github.com/rest-assured/rest-assured/issues/627
我的代码是这样的
File uploadFile = new File("/home/beast/Downloads/locations.csv");
RequestSpecification request = given().urlEncodingEnabled(false).
config(RestAssured.config().encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false)))
.multiPart("file", uploadFile, "csv");
Response r = request.put(URL);
PS:错误是签名不匹配。
【问题讨论】: