Oleg, thanks for pointing this out. I have realized that it is my fault after that I verified that the proxy is transparent.
The problem is missing slash at the end of URI while constructing the HttpGet(). "http://auth-digest2.brno.local" vs. "http://auth-digest2.brno.local/" The question is if user shouldn't be forced to use the ending slash in all cases even if proxy is not used. I understand that HttpClient tries to be tolerant, but the use of API would be more consistent. Thanks for your help, Bronislav 2013/1/7 Oleg Kalnichevski <[email protected]> > On Sun, 2013-01-06 at 23:17 +0100, Bronislav Gabrhelik wrote: > > Hello, > > > > > > I came across the following issue. If I configure the HttpClient with > > proxy(no-auth) then the digest authentication is failed by the server > > with 400 Bad request. After short analysis I have found out that the > > digest authentication request contains an absolute URI instead of a > > relative URI.The absolute URI is set in the > > DefaultRequestDirector.execute() by calling > > of DefaultRequestDirector.rewriteRequestURI() in case the proxy is > > configured. The parsed log from netmon is in the attachment. > > > > > > Originally I have found the problem with my own Digest Authentication > > Scheme (using Windows SSPI). After that I tried the build-in Digest > > auth scheme and I was able to reproduce the issue. I noticed that the > > request arg in the Schema.Authenticate is RequestWrapper, so i tried > > to use RequestWrapper.getOriginal() for retrieving of URI, but I had n > > o success. It returns also an absolute URI. > > > > > > I believe it is a bug in the HttpClient. Besides that I would like to > > address this problem in our DigestAuthScheme before it will be fixed > > in the HttpClient. > > Bronislav > > Similar issue was reported in the past. I think HttpClient's behavior is > correct and is compliant with the requirements of the HTTP > specification. The problem is on the proxy side. For details please see: > > https://issues.apache.org/jira/browse/HTTPCLIENT-1071 > > Feel free to report this problem to developers of the proxy server. > > Oleg > > > > > Is there some consistent way how how to get relative URI from the > > HttpRequest or HttpContext passed into authenticate() method? I know I > > can use the URI class to get a relative path, but it seems just like a > > workaround. > > > > > > Environment: > > JRE 1.6.0_23, Windows 7 SP1 > > dependencies: > > commons-codec-1.6.jar > > commons-logging-1.1.1.jar > > fluent-hc-4.2.2.jar > > httpclient-4.2.2.jar > > httpclient-cache-4.2.2.jar > > httpcore-4.2.3.jar > > httpmime-4.2.2.jar > > > > > > Thanks, > > Bronislav Gabrhelik > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
