1

我正在尝试使用 Sonarqube 网络服务 API。我需要将一些参数连同用户名和密码一起传递给这个 Web 服务 api。

为此,我编写了以下代码-

HttpClient client = new HttpClient();
        String uri = "http://myUrl.sonar.com";
        client.getState().setCredentials(new AuthScope(uri, 8080, AuthScope.ANY_REALM),
                new UsernamePasswordCredentials("username", "password"));
        GetMethod get = new GetMethod("http://myUrl.sonar.com/api/resources?"
                + "resource=110041&format=json&metrics=ncloc,coverage&verbose=true"
                + "&metrics=sqale_index,sqale_debt_ratio,ncloc,sqale_rating");
        get.setDoAuthentication(true);
        try {
            int status = client.executeMethod(get);
            System.out.println(status + "\n" + get.getResponseBodyAsString());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            get.releaseConnection();
        }

当我从 Eclipse 运行此代码时,它返回

401
{"err_code":401,"err_msg":"Unauthorized"}

这有什么可能的原因吗?用户名和密码正确。

4

1 回答 1

0

您应该尝试我们的 API 来查询一些 URL,请参阅我们 IT 中的一些示例以使用它:

您需要使用 sonar-ws,最新版本可在此处获得:http ://search.maven.org/#artifactdetails%7Corg.sonarsource.sonarqube%7Csonar-ws%7C5.6%7Cjar

于 2016-06-06T12:36:08.363 回答