我已经编写了一段Java代码,作为Eclipse插件的一部分,连接到远程https站点。我将自己的凭据传递给get请求,但eclipse不断抛出一个弹出窗口,询问每个get请求的凭据!虽然它甚至没有做任何事情,因为我可以点击取消或不输入凭据,并且get请求成功返回。
我可以禁用此弹出式窗口吗? 我知道它是由Eclipse触发的,因为窗口上有图标。 我使用的是Eclipse版本Mars 2,但我也可以为Luna重现。
这是我的代码,我使用的是jersey 2.0 API
主要代码
ClientConfig clientConfig = new ClientConfig();
// set connect timeout
clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 10000);
// set query timeout
clientConfig.property(ClientProperties.READ_TIMEOUT, 300000);
// register Base Authentication Feature providing credentials
clientConfig.register(HttpAuthenticationFeature.basicBuilder()
.nonPreemptive()
.credentials(restUserName, restPassword)
.build());
ClientBuilder builder = ClientBuilder.newBuilder()
.withConfig(clientConfig)
.hostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier());
// set ssl context
try
{
builder.sslContext(getSslContext());
}
catch(Exception e)
{
connectionError = "SSL Handshake Error";
}
// build the REST client
client = builder.build();
// Get Request
Builder builder = this.GetRestTarget().path(String.format("builds/%d", buildId)).request();
Response response = builder.get();
SSL
System.setProperty("javax.net.ssl.trustStore", pathToKeystoreFile);
SslConfigurator sslConfig = SslConfigurator.newInstance();
return sslConfig.createSSLContext();