Index: src/test/org/apache/commons/httpclient/TestProxy.java =================================================================== --- src/test/org/apache/commons/httpclient/TestProxy.java (revision 330805) +++ src/test/org/apache/commons/httpclient/TestProxy.java (working copy) @@ -767,6 +767,11 @@ try { this.client.executeMethod(get); assertEquals(HttpStatus.SC_OK, get.getStatusCode()); + if (isUseSSL()) { + assertNull(get.getRequestHeader("Proxy-Authorization")); + } else { + assertNotNull(get.getRequestHeader("Proxy-Authorization")); + } } finally { get.releaseConnection(); } Index: src/java/org/apache/commons/httpclient/HttpMethodDirector.java =================================================================== --- src/java/org/apache/commons/httpclient/HttpMethodDirector.java (revision 330805) +++ src/java/org/apache/commons/httpclient/HttpMethodDirector.java (working copy) @@ -160,7 +160,7 @@ LOG.debug("Preemptively sending default basic credentials"); method.getHostAuthState().setPreemptive(); method.getHostAuthState().setAuthAttempted(true); - if (this.conn.isProxied()) { + if (this.conn.isProxied() && !this.conn.isSecure()) { method.getProxyAuthState().setPreemptive(); method.getProxyAuthState().setAuthAttempted(true); } @@ -227,7 +227,9 @@ private void authenticate(final HttpMethod method) { try { - authenticateProxy(method); + if (this.conn.isProxied() && !this.conn.isSecure()) { + authenticateProxy(method); + } authenticateHost(method); } catch (AuthenticationException e) { LOG.error(e.getMessage(), e);