声纳客户org.sonar.wsclient.base.HttpException:错误407

问题描述 投票:0回答:1

我使用声纳客户端API,以显示代码以个性化版本的气味。但我得到上述错误,而这样做?之前我曾经得到的输出。

public class ab{
public static void main(String args[]) {
try {
    String url = "http://127.0.0.1:9001";
    String login = "admin";
    String password = "admin";

    SonarClient client = SonarClient.builder()
              .url(url)
              .login(login)
              .password(password)
              .build();

    IssueQuery query = IssueQuery.create();
    query.rules("Major","Minor","Critical");
    IssueClient issueClient = client.issueClient();
    Issues issues = issueClient.find(query);
    List<Issue> issueList = issues.list();

    for (int i = 0; i < issueList.size(); i++) {
       System.out.println(issueList.get(i).projectKey() + " " +
                          issueList.get(i).componentKey() + " " +
                          issueList.get(i).line() + " " +
                          issueList.get(i).ruleKey() + " " +
                          issueList.get(i).severity() + " " +
                          issueList.get(i).message());
     }
} catch (Exception ex) {
  System.out.println(ex);
}
}
sonarqube sonarqube-scan
1个回答
0
投票

当您尝试访问的资源需要代理身份验证Http Error 407被抛出。但是,正如你所访问过127.0.0.1的服务,这表明它是您的本地系统,你不应该得到407错误。尝试添加条目到您的主机文件(在YOUR_WINDOWS_FOLDER \ SYSTEM32 \ drivers \ etc中)为

127.0.0.1       localhost

或者,您有试过访问过的网址如下localhost

http://localhost:9001

最后,如果sonarqube是一个单独的服务器上托管,你可以调用服务之前设置的代理认证如下而已。

import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
.
.
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("PROXY_SERVER", 80));
Authenticator authenticator = new Authenticator() {

    public PasswordAuthentication getPasswordAuthentication() {
        return (new PasswordAuthentication("PROXY_USERNAME", "PROXY_PASSWORD".toCharArray()));
    }
};
Authenticator.setDefault(authenticator);
© www.soinside.com 2019 - 2024. All rights reserved.