【发布时间】:2022-02-18 20:02:27
【问题描述】:
我正在开发一个使用 HttpClient 以编程方式将 VuGen 脚本上传到 Performance Center 的 Java 工具。我的工具是:
- 验证并保存会话 cookie - /LoadTest/rest/authentication-point/authenticate
- 上传脚本 - /LoadTest/rest/domains/[MyDomain]/projects/[MyProject]/Scripts
- 注销 - /LoadTest/rest/authentication-point/logout
身份验证和注销步骤工作正常。即,我可以从身份验证中获取会话 cookie,并在注销时将 cookie 设置为过期。但是,在上传脚本步骤,我总是收到 HTTP 401 错误。这是一条错误消息:
401 - 未经授权:由于凭据无效,访问被拒绝。
您无权使用 您提供的凭据。
这是我发送到 Performance Center 服务器的内容。
POST http://[PC-Host]/LoadTest/rest/domains/[MyDomain]/projects/[MyProject]/Scripts HTTP/1.1
Content-Type: multipart/form-data
Content-Length: 31367
Host: [PC-Server]
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_111)
Cookie: LWSSO_COOKIE_KEY=1y8TbNawvT976BENi4oT1hW6_dCMwcz-eohdFDqWpfIXsW2tUMYHZuHZbUBg9wFQwFnQgfetx5I2EvCfaA5y-g..; QCSession=NjA3NTY5O0JWK0ZjSExzWStwTFZPd2xZSXZ5VlEqKjtQQyBSRVNUIEFQSSBDbGllbnQ7IDsg
Accept-Encoding: gzip,deflate
--_NK2aWTiwhT6VV0TIxkUIaHRx0GhDBZ2LOsY8
Content-Disposition: form-data; name="xml"
Content-Type: application/xml; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
<Script xmlns="http://www.hp.com/PC/REST/API"><TestFolderPath>Subject\DEV\abc</TestFolderPath><Overwrite>true</Overwrite><RuntimeOnly>true</RuntimeOnly><KeepCheckedOut/></Script>
--_NK2aWTiwhT6VV0TIxkUIaHRx0GhDBZ2LOsY8
Content-Disposition: form-data; name="file"; filename="abc.zip"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
## binary of zipped vugen script ##
--_NK2aWTiwhT6VV0TIxkUIaHRx0GhDBZ2LOsY8--
我不知道我做错了什么。你有什么想法吗?
【问题讨论】:
标签: httpclient performance-testing multipart loadrunner