- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 Java 中的 Rest api 访问 QC 11。
我正在关注 HP 提供的手册中的 API 引用。以下是登录身份验证的基本步骤。
Non-Web Application Authorization Client queries the is-authenticated resource and sends no authentication headers. This step is optional.
GET/qcbin/rest/is-authenticated
服务器拒绝请求并返回对身份验证点的引用。
HTTP/1.1 401 未经授权的 WWW 验证:LWSSO realm=http://[server]:[port]/qcbin/authentication-point
客户端发送一个有效的基本认证头给认证 点。
GET/qcbin/authentication-point/authenticate 授权:基本 ABCDE123
服务器验证基本身份验证 header ,创建一个新的 LW-SSO token 并将其作为 LWSSO_COOKIE_KEY 返回。
HTTP/1.1 200 OK 设置 Cookie:LWSSO_COOKIE_KEY={cookie}
应用程序现在可以使用 token 访问数据和服务。在 session 结束,注销以丢弃 token 。
这是我的java代码。
DefaultHttpClient httpClient = new DefaultHttpClient();
String encoding = Base64.encodeBase64String("demoUser:demoUser123".getBytes());
HttpGet httpGet = new HttpGet("http://HOST_VALUE:PORT_VALUE/qcbin/authentication-point/authenticate");
//httpGet.setHeader("GET", "/qcbin/authentication-point/authenticate");
httpGet.setHeader("Authorization:", "Basic " + encoding);
HttpResponse response;
httpClient.getCredentialsProvider().setCredentials(
new AuthScope("proxyHost", 8080),
new UsernamePasswordCredentials("userName", "Password"));
response = httpClient.execute(httpGet);
System.out.println(response.getAllHeaders().toString());
System.out.println(response.getStatusLine().toString());
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
httpClient.getConnectionManager().shutdown();
它给我的输出是
[Lorg.apache.http.Header;@159e154 HTTP/1.1 400 Bad Request Output from Server ....
我是使用 Java 接触 REST 的新手。谁能帮忙?有使用 REST 连接到 ALM 并获取数据的示例吗?
最佳答案
解决了问题。
问题出在 base64 编码上!如果您将字符串转换为 base64 编码的字符串...如果结果大于 76 个字符。它添加了新行!即使小于 76
所以解决方案是
encoding = encoding.replaceAll("\n", "");
关于java - QC ALM ( QC 11) 身份验证时 REST Api 400 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931103/
正如标题所说,我需要使用 hp alm rest api 获取我的需求的可追溯性信息。我必须使用什么端点?该文档似乎几乎不存在!我在某处读到以下端点应返回所有可用端点的列表,但我只得到“未找到”->/
我尝试使用 ALM REST API 从 HP ALM 获取所有测试运行,但我的结果仅限于 100 条记录。我尝试使用查询“?page-size = 5000”,但这不起作用。 我使用以下链接来获取测
我使用 ALM Synchronizer 连接到 TFS (2015)。我已经建立了初始连接并正在尝试获取 TFS 模式。开始“运行完整性检查”操作后,我收到以下错误: 获取端点架构: buildEn
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在开发一个应用程序,它应该从 ALM 中的测试实例检索测试参数,在测试中提交它们,然后在 ALM 中更新状态。问题是我不知道如何从 REST API 访问这些参数。我得到的最接近的是/qcbin/
我想知道,将解决方案导出到 azure devops 存储库后,我们可以通过添加几行代码来编辑代码或从存储库本身向解决方案添加新功能,而且我只能看到 XML 格式的文件。实际上,在编辑电源应用程序时,
我终于加入了 Azure 开发队伍,我对创建开发和部署环境的首选实践有疑问。 首先,我正在学习 Azure Key Vault它呈现了我的核心问题的完美示例场景。 在我的开发(和 ALM)过程中,我通
我终于加入了 Azure 开发队伍,我对创建开发和部署环境的首选实践有疑问。 首先,我正在学习 Azure Key Vault它呈现了我的核心问题的完美示例场景。 在我的开发(和 ALM)过程中,我通
我也熟悉开发室中使用的“Subversion + Cruise Control + Fogbugz + nCover + ...”设置。但是还有什么其他选择呢?除了这两种组合之外,我还很天真。我来自
我在 HP ALM 中有两个不同的查询,但我想合并并将其合二为一。我不太擅长 SQL 查询,所以我在合并查询时遇到了困难。 查询 1:获取测试器的执行计数 Select TESTCYCL.TC_AC
我想要从 HPE ALM Octane 服务器连接到 MSSQL 服务器。现在我遇到了问题,我无法连接到它,因为我的连接字符串无效。你能看出问题所在吗? 连接字符串: jdbc:mercury:sql
这个问题在这里已经有了答案: need to return two sets of data with two different where clauses (2 个答案) 关闭 7 年前。 我正
我指的是 alm 的官方文档来完成这项任务。 http://alm-help.saas.hpe.com/en/12.50/api_refs/REST/webframe.htm#sign_in.htm
在我的项目中,一个规范文件中会存在多个 it block 。因此,在执行规范时,我需要检索“it” block 的通过/失败状态,并根据结果我必须执行一些操作,例如在 ALM 中上传屏幕截图。 我已经
我正在使用 PHP 获取给定文件夹中所有测试集中的所有测试用例。 我关注了这个tutorial为了建立连接,我正在使用 the following query获取我想要作为根目录的测试集文件夹的 id
我对 Polarion SDK API 有疑问 我在项目 -> 文档和页面 -> 测试中。从那里我创建了一篇新的 wiki 文章。在编辑文章时我做了以下工作: 1) 使用以下命令创建了一个 sql 查
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我只想通过 REST API 在浏览器(IE11、Firefox、Chrome)中通过本地编写的 javascript 访问 ALM,但无法登录。我尝试使用How to access HP ALM u
现在我有一个 Azure PaaS 解决方案,在 TFS 中有一个存储库 - 我们右键单击从 VS 发布到应用服务,然后交换插槽以将代码投入生产。小团队、严格的签到(或者我是这么认为的)等等。 我决定
我是一名优秀的程序员,十分优秀!