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]
>
>

Reply via email to