为什么我使用 JMeter 将 headers 嵌入到上传到 S3 的文件中?
Why am I getting headers embedded to files uploaded to S3 using JMeter?
每当使用 JMeter 的 HTTP 请求采样器将文件 (json) 上传到 S3 时,上传的文件都会在文件顶部包含 HTTP headers。我正在使用带符号的 URL (具有实际值):
https://something-s3bucket-something.s3.eu-west-1.amazonaws.com/afda5939-c232-d746-06f7-68790abde85b-91e962d6-4643-8091-fab8-9d0f78f35810.jsonTemp?X-Amz-Expires=18000&x-amz-security-token=somethinglongandcomplicated&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=somethingspecific&X-Amz-Date=20190627T070453Z&X-Amz-SignedHeaders=host;x-amz-security-token&X-Amz-Signature=something
HTTP 请求设置:
结果json:
--Y0B3WMeM2M6xYSUHpjPUIj72y3xnO_pswRA12Oh
Content-Disposition: form-data; name="filename"; filename="500payslips.json"
Content-Type: binary/octet-stream
Content-Transfer-Encoding: binary
{
... json content ...
}
}
--Y0B3WMeM2M6xYSUHpjPUIj72y3xnO_pswRA12Oh--
我知道我可以将 s3 java 库添加到 JMeter,然后编写上传代码,但我更愿意只使用 HTTP 请求采样器(如果可能)。
更多的是解决方法而不是修复(?)。我没有将文件作为 multipart/form-data 发送,而是将文件的内容读入变量并将内容作为请求正文的一部分发送。
每当使用 JMeter 的 HTTP 请求采样器将文件 (json) 上传到 S3 时,上传的文件都会在文件顶部包含 HTTP headers。我正在使用带符号的 URL (具有实际值):
https://something-s3bucket-something.s3.eu-west-1.amazonaws.com/afda5939-c232-d746-06f7-68790abde85b-91e962d6-4643-8091-fab8-9d0f78f35810.jsonTemp?X-Amz-Expires=18000&x-amz-security-token=somethinglongandcomplicated&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=somethingspecific&X-Amz-Date=20190627T070453Z&X-Amz-SignedHeaders=host;x-amz-security-token&X-Amz-Signature=something
HTTP 请求设置:
结果json:
--Y0B3WMeM2M6xYSUHpjPUIj72y3xnO_pswRA12Oh
Content-Disposition: form-data; name="filename"; filename="500payslips.json"
Content-Type: binary/octet-stream
Content-Transfer-Encoding: binary
{
... json content ...
}
}
--Y0B3WMeM2M6xYSUHpjPUIj72y3xnO_pswRA12Oh--
我知道我可以将 s3 java 库添加到 JMeter,然后编写上传代码,但我更愿意只使用 HTTP 请求采样器(如果可能)。
更多的是解决方法而不是修复(?)。我没有将文件作为 multipart/form-data 发送,而是将文件的内容读入变量并将内容作为请求正文的一部分发送。