【发布时间】:2016-06-17 00:33:43
【问题描述】:
我是 JMeter 的新手,正在尝试使用 HTTP 请求将文件放入我们的 API。当我使用 -F 标志通过 curl 放置文件时,它没有问题。
这是我的 curl 请求:
curl -X PUT -u uname:pword https://fakehostname.com/psr-1/controllers/vertx/upload/file/big/ADJTIME3 -F "upload1=@ADJTIME" -vis
这是来自服务器的响应的相关部分:
> User-Agent: curl/7.37.1 Host: myfakehost.com Accept: */*
> Content-Length: 4190 Expect: 100-continue Content-Type:
> multipart/form-data; boundary=------------------------d76566a6ebb651d3
当我通过 JMeter 执行相同操作时,Content-Length 为 0,这让我认为 JMeter 出于某种原因没有读取文件。我知道路径是正确的,因为我从 JMeter 浏览到该文件。有点帮助?
【问题讨论】:
-
JMeter 指向
ADJTIME4并且 curl 输出为ADJTIME3有区别吗?另外我注意到您缺少 JMeter 中的用户名和密码设置,并且协议设置为 http,而不是 https。 Path 字段不应包含方案...也许您应该浏览一下 JMeter 上的一些文档。 -
不,没关系。我成功发布到 ADJTIME3(我们的 api 根据发布 URL 命名文件,因此发布到 ADJTIME4 会以该名称保存文件)。我们使用 Bearer 令牌进行授权,因此我将授权放在 Header Manager 中。我已经彻底阅读了文档并针对我们的 API 运行了一些负载测试,所以我不是一个完全的新手。同样,我可以毫无问题地访问我们的 API。问题(如原帖所述)是JMeter没有读取文件(Content-Length:0)
-
您缺少 MIME 类型,请尝试
application/octet-stream -
我实际上也将类型放在了标题管理器中。我们的 API 需要 multipart/form-data (但我尝试了您的建议,希望它会起作用)。这是来自标头管理器的 Content-Type: Content-Type: multipart/form-data;边界=d76566a6ebb651d3。在应该上传的文件中,第一行是--d76566a6ebb651d3,最后一行是--d76566a6ebb651d3--
标签: jmeter