You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Ken Krugler <kk...@transpac.com> on 2009/08/07 19:32:32 UTC

Setting cookie policy with HttpClient 4.0

Hi all,

I'm seeing errors in my logs relating to parsing the expires date  
value in a cookie:

09/08/07 10:26:46 WARN protocol.ResponseProcessCookies:137 - Invalid  
cookie header: "Set-Cookie: IU=deleted; expires=Thu, 07 Aug 2008  
17:26:45 GMT; path=/; domain=.yahoo.com". Unable to parse expires  
attribute: Thu, 07 Aug 2008 17:26:45 GMT

I looked through the HtttpClient source, and it seems like if I've set  
up my cookie policy properly, the above date would be parsed properly.

Here's now I'm setting up the cookie policy:

=================================================================
HttpParams params = new BasicHttpParams();
...
CookieSpecParamBean cookieParams = new CookieSpecParamBean(params);
cookieParams.setSingleHeader(true);
...
ClientConnectionManager cm = new ThreadSafeClientConnManager(params,  
schemeRegistry);
DefaultHttpClient httpClient = new DefaultHttpClient(cm, params);
...
params = httpClient.getParams();
HttpClientParams.setCookiePolicy(params, CookiePolicy.BEST_MATCH);
=================================================================

But the above code was assembled from a few different snippets online,  
IIRC. So maybe this isn't correct.

For example, in the "Choosing Cookie Policy" section of the tutorial  
docs, it uses the setParameter() API to set the policy:

httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY,  
CookiePolicy.RFC_2965);

I assume the two are equivalent, but any input would be appreciated.

Thanks,

-- Ken

--------------------------------------------
<http://ken-blog.krugler.org>
+1 530-265-2225




--------------------------
Ken Krugler
TransPac Software, Inc.
<http://www.transpac.com>
+1 530-210-6378


Re: Setting cookie policy with HttpClient 4.0

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Fri, Aug 07, 2009 at 10:32:32AM -0700, Ken Krugler wrote:
> Hi all,
>
> I'm seeing errors in my logs relating to parsing the expires date value 
> in a cookie:
>
> 09/08/07 10:26:46 WARN protocol.ResponseProcessCookies:137 - Invalid  
> cookie header: "Set-Cookie: IU=deleted; expires=Thu, 07 Aug 2008  
> 17:26:45 GMT; path=/; domain=.yahoo.com". Unable to parse expires  
> attribute: Thu, 07 Aug 2008 17:26:45 GMT
>
> I looked through the HtttpClient source, and it seems like if I've set  
> up my cookie policy properly, the above date would be parsed properly.
>
> Here's now I'm setting up the cookie policy:
>
> =================================================================
> HttpParams params = new BasicHttpParams();
> ...
> CookieSpecParamBean cookieParams = new CookieSpecParamBean(params);
> cookieParams.setSingleHeader(true);
> ...
> ClientConnectionManager cm = new ThreadSafeClientConnManager(params,  
> schemeRegistry);
> DefaultHttpClient httpClient = new DefaultHttpClient(cm, params);
> ...
> params = httpClient.getParams();
> HttpClientParams.setCookiePolicy(params, CookiePolicy.BEST_MATCH);
> =================================================================
>
> But the above code was assembled from a few different snippets online,  
> IIRC. So maybe this isn't correct.
>

Hi Ken

The code looks ok to me. In this particular case, though, you should simply be
using the 'http.protocol.cookie-datepatterns' parameter to override the default
expiry format.

http://hc.apache.org/httpcomponents-client/httpclient/apidocs/org/apache/http/cookie/params/CookieSpecPNames.html#DATE_PATTERNS


> For example, in the "Choosing Cookie Policy" section of the tutorial  
> docs, it uses the setParameter() API to set the policy:
>
> httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY,  
> CookiePolicy.RFC_2965);
>
> I assume the two are equivalent, but any input would be appreciated.
>

Yes, they are.

Hope this helps

Oleg

> Thanks,
>
> -- Ken
>
> --------------------------------------------
> <http://ken-blog.krugler.org>
> +1 530-265-2225
>
>
>
>
> --------------------------
> Ken Krugler
> TransPac Software, Inc.
> <http://www.transpac.com>
> +1 530-210-6378
>

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