diff --git a/JAVA/src/main/java/it/bancaditalia/oss/sdmx/client/RestSdmxClient.java b/JAVA/src/main/java/it/bancaditalia/oss/sdmx/client/RestSdmxClient.java index 8719194..0a56ee9 100644 --- a/JAVA/src/main/java/it/bancaditalia/oss/sdmx/client/RestSdmxClient.java +++ b/JAVA/src/main/java/it/bancaditalia/oss/sdmx/client/RestSdmxClient.java @@ -400,7 +400,19 @@ protected final T runQuery(Parser parser, URL query, String acceptHeader, } code = conn instanceof HttpURLConnection ? ((HttpURLConnection) conn).getResponseCode() : HttpURLConnection.HTTP_OK; + if (code == HttpURLConnection.HTTP_PROXY_AUTH) + { + LOGGER.fine("Error with proxy. Second attempt after forcing acces to http website in first place."); + URI uritest= new URI("http://google.com"); + URL urltest = uritest.toURL(); + conn = urltest.openConnection(proxy); + ((HttpURLConnection) conn).setRequestMethod("GET"); + code = conn instanceof HttpURLConnection ? ((HttpURLConnection) conn).getResponseCode() : HttpURLConnection.HTTP_OK; + conn = url.openConnection(proxy); + ((HttpURLConnection) conn).setRequestMethod("GET"); + code = conn instanceof HttpURLConnection ? ((HttpURLConnection) conn).getResponseCode() : HttpURLConnection.HTTP_OK; + } if (isRedirection(code)) { URL redirection = getRedirectionURL(conn, code);