hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: ServletExec and Cookie compatibility
Date Wed, 14 Dec 2005 14:38:11 GMT
On Wed, Dec 14, 2005 at 09:16:54AM -0500, Anthony Bargnesi wrote:
> Oleg/Michael,
> 
> Thanks for your responses.  Oleg, for browser compatibility cookie policy,
> do I use CookieSpecBase.class or some other class?
> 
> CookiePolicy.registerCookieSpec(CookiePolicy.BROWSER_COMPATIBILITY,
> > CookieSpecBase.class);
> 
>

HttpMethod method = new GetMethod();
method.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

or

HttpClient httpagent = new HttpClient();
httpagent.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

For details see:

http://jakarta.apache.org/commons/httpclient/cookies.html

Oleg


> 
> Anthony
> 
> 
> On 12/14/05, Oleg Kalnichevski <olegk@apache.org> wrote:
> >
> > On Tue, Dec 13, 2005 at 04:45:46PM -0500, Michael Becke wrote:
> > > Hi Anthony,
> > >
> > > You will need to force HttpClient to send the cookies as a single
> > header:
> > >
> > > http.protocol.single-cookie-header
> > > at
> > > <http://jakarta.apache.org/commons/httpclient/preference-api.html>
> > >
> > > Mike
> > >
> >
> > And probably use the browser compatibility cookie policy. This will
> > make $Version=0; attribute go away
> >
> > http://jakarta.apache.org/commons/httpclient/cookies.html
> >
> > Oleg
> >
> >
> >
> > > On 12/13/05, Anthony Bargnesi <abargnesi@gmail.com> wrote:
> > > > Hello,
> > > >
> > > > I am using HtmlUnit to run testcases against my web application.  On
> > the
> > > > login page I do a form post containing the login
> > information.  ServletExec
> > > > generates
> > > > a "sesessionid" that is set as a cookie.  This obviously works on a
> > browser
> > > > but using HttpClient for a client does not work.  I have examined the
> > http
> > > > requests
> > > > and responses to get a better idea of what is happening.
> > > >
> > > > The browser does the post:
> > > >
> > > > POST /myaquent?APROC=Login HTTP/1.1
> > > >
> > > >
> > > > and sets the cookies:
> > > >
> > > > > Set-Cookie: UserType=7
> > > > > Set-Cookie: UserName=dperez
> > > > > Set-Cookie: storeFilesInUBO=true
> > > > > Set-Cookie: sesessionid=gsr2kEn5BATC8oHBKhcLC6Kf4Eo; path=/
> > > >
> > > >
> > > > HttpClient does the post (I think...it doesn't explicitly say POST in
> > the
> > > > Header)
> > > > and sets the cookies:
> > > >
> > > > Set-Cookie: UserType=7
> > > > > Set-Cookie: UserName=dperez
> > > > > Set-Cookie: storeFilesInUBO=true
> > > > > Set-Cookie: sesessionid=0fWKNFTdZ4wanoGkODbXNNzSOXY; path=/
> > > > >
> > > > > Cookie accepted: "$Version=0; UserType=7"
> > > > > Cookie accepted: "$Version=0; UserName=dperez"
> > > > > Cookie accepted: "$Version=0; storeFilesInUBO=true"
> > > > > Cookie accepted: "$Version=0;
> > sesessionid=0fWKNFTdZ4wanoGkODbXNNzSOXY;
> > > > > $Path=/"
> > > > >
> > > >
> > > > The Cookie accepted lines add $Version=0 which I am not too sure why
> > or
> > > > even what that means.
> > > >
> > > > The interesting part is the next request I make for the main window of
> > the
> > > > webapp.
> > > >
> > > > The browser sends the same cookie values (THIS WORKS):
> > > >
> > > > Cookie: UserType=7; UserName=dperez; storeFilesInUBO=true;
> > > > > sesessionid=gsr2kEn5BATC8oHBKhcLC6Kf4Eo
> > > >
> > > >
> > > > but HttpClient sends them differently (DOES NOT WORK):
> > > >
> > > > > "Cookie: $Version=0; UserType=7
> > > > > "Cookie: $Version=0; UserName=dperez
> > > > > "Cookie: $Version=0; storeFilesInUBO=true
> > > > > "Cookie: $Version=0; sesessionid=0fWKNFTdZ4wanoGkODbXNNzSOXY;
> > $Path=/
> > > >
> > > >
> > > > which results in the sessionId being reset on the server and erroring
> > out
> > > > with an error page
> > > > because the user is no longer seen as logged in.
> > > >
> > > > Is it possible that ServletExec is setting the cookie values again
> > because
> > > > HttpClient is not
> > > > specifying cookies in the right way?  How can I debug this or even
> > force the
> > > > the cookies to display
> > > > in the header properlyl?
> > > >
> > > > Thanks,
> > > >
> > > > Anthony Bargnesi
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


Mime
View raw message