Read the specs: cookies always require an = sign to be compliant.
> >From: 陈建春 <chen...@maxthon.net> >To: Joe Schaefer <joe_schae...@yahoo.com> >Cc: apreq-dev@httpd.apache.org >Sent: Thu, December 24, 2009 10:06:52 PM >Subject: Re: Apache2::Cookie cookie parse error "Expected token not present" > > > > > > > >I see, I use Apache2::Cookie to parse and fetch cookie, and I can deal >with the error by this way: > >>my $cookies; >>eval { $cookies = Apache2::Cookie->fetch($r) } >>if ($@) { >> $cookies = $...@->jar; >> $cookies->cookie_class('Apache2::Cookie'); >>} > >>But as I know, cookie without key is also valid, just as a single "1", >and php will parse this cookie without any complain. >>is apreq's parsing regular not intelligent enough? > > > >陈建春 | ChenJianchun >>傲游Web应用部 >E-mail: chen...@maxthon.net >Maxthon® --每个人的互联网中心! 上网从傲游开始! >傲游天下科技有限公司(中国) >| www.maxthon.cn >诚 >信、创新、务实、奋斗! > >>Joe Schaefer 写道: > >>> >>Apreq doesn't generate cookies that would create a "1" in >>>>the client's Cookie header. It's some other application that >>>>did that, but you can tell apreq to ignore the 1 by using eval: >> >>>>my $req = APR::Request::Apache2->handle($r); >>>>my $jar = eval {$req->jar()} || $...@->jar; >>>>... >> >>>>eval will trap the error and put an APR::Request::Error object >>>>in $...@. Calling ->jar on that object won't cause another exception >>>>to be thrown. >> >>>>HTH >> >> >> >>> >>>From: >>>陈建春 <chen...@maxthon.net> >>>To: apreq-dev@httpd.apache.org >>>Sent: Wed, December >>>23, 2009 10:55:41 PM >>>Subject: >>>Apache2::Cookie cookie parse error "Expected token not present" >>> >>>>>> >>>hi >>> >>>Our web site http://passport.maxthon.cn use >>>mod_perl2.0. >>>>>>but it displays "Expected token not present" on the page occasionally. >>> >>>>>>I log the cookie string in header when the error occur, the abnormal >>>cookie would like this: >>> >>>>>>rtime30013728=0; ltime30013728=1261566403616; >>>cnzz_eid30013728=98941722-1261566395-http%3A//gocn.maxthon.com/redir/public/avatar.htm%3Fv%3D3.0.6.4; >>>1; >>>MAXAUTH=01000000170000005F47334BDF7A144D7BAA0F4B60AB448E3E79ECE6D111B0BE6B9A461DF1237853 >>> >>>>>>rtime30013728=0; ltime30013728=1261566403616; >>>cnzz_eid30013728=98941722-1261566395-http%3A//gocn.maxthon.com/redir/public/avatar.htm%3Fv%3D3.0.6.4; >>>MAXAUTH=01000000170000006DA5314BEE28134D7BAA0F4BB1E42FEFD0330EC3913F26C41ACABF9598722B7F; >>>1 >>> >>>>>>I compared them with the normal cookie string, I find all of the >>>abnormal cookie string contain "1;" >>>>>>It is sure that the "1;" cause the Apache2::Cookie parser error. >>>>>>I wonder how and why the "1;" is added, and how to fix it. >>> >>>>>>Thanks >>> >>> >>>-- >>> >>>陈建春 | ChenJianchun >>>>>>傲游Web应用部 >>>E-mail: chen...@maxthon.net >>>Maxthon® --每个人的互联网中心! 上网从傲游开始! >>>傲游天下科技有限公司(中国) >>>| www.maxthon.cn >>>诚 >>>信、创新、务实、奋斗! >>