On Thu, 2011-07-21 at 00:28 +0200, Villemos, Gert wrote:
> Indeed. Changing the policy to BEST-MATCH, the cookies are now registered as 
> expected.
> 
> Another problem; The return of the POST request is a 302 response with a new 
> target. How do I follow the redirect to the actual page? Do I have to do a 
> GET myself? Reading the documentation it seems as if redirects should be 
> followed automatically, i.e. I would expect a GET to be automatically 
> executed after the POST.
> 
> As far as I can see, I do not change the redirect settings anywhere in my 
> code.
> 
> 

Please see javadocs in this class for a detail explanation

http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRedirectStrategy.java

You can force HttpClient to automatically redirect POST requests in all
cases by using a custom redirect strategy such as this one

http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/LaxRedirectStrategy.java

Oleg 

> 
> 
> -----Original Message-----
> From: Oleg Kalnichevski [mailto:[email protected]]
> Sent: Wed 7/20/2011 4:03 PM
> To: HttpClient User Discussion
> Subject: Re: Understanding cookie handling - registering cookies returned in 
> a response
>  
> On Wed, 2011-07-20 at 11:25 +0200, Villemos, Gert wrote:
> > Well, I dont understand cookie handling. I have read the very detailed
> > guide at
> > http://hc.apache.org/httpcomponents-client-ga/tutorial/pdf/httpclient-tu
> > torial.pdf and a lot of posts, but I still don't get it.
> > 
> > In understand that you typically have a cookie store maintaining the
> > session cookies, that you set on the client / context.
> > 
> > What I don't get is this; 
> > 1. What is the difference between setting the cookie store on the client
> > and on the context?
> 
> Global cookie store is shared by all threads or execution / users, where
> as cookie store set in the local context can be used by one thread /
> user. 
> 
> 
> > 2. When I have set a cookiestore (on client and context) and execute a
> > post that returns a response with cookies (such as JSESSIONID), then I
> > would expect those cookies to be registered automatically in the cookie
> > store for usage in the next request... but they aint (store is empty,
> > see below).
> 
> The cookie sent by the server violates the HTTP state management spec
> and apparently gets rejected.
> 
> You can use context / wire logging to find out whether or not the
> cookie(s) have been rejected. 
> 
> > 3. Do I need to register the cookies manually and how do I do this?
> > 
> 
> RFC_2965 policy is very strict. Use BEST-MATCH policy instead. It will
> automatically pick up Netscape compatible cookie spec to handle cookies
> containing legacy 'Expires' attribute.
> 
> Hope this helps
> 
> Oleg
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 
> 
> 
> 
> Think green - keep it on the screen.
> 
> This e-mail and any attachment is for authorised use by the intended 
> recipient(s) only. It may contain proprietary material, confidential 
> information and/or be subject to legal privilege. It should not be copied, 
> disclosed to, retained or used by, any other party. If you are not an 
> intended recipient then please promptly delete this e-mail and any attachment 
> and all copies and inform the sender. Thank you.
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to