"Luuk de Boer" <[EMAIL PROTECTED]> writes:
> On 15 May 2002, at 7:04, Gisle Aas wrote:
>
> > "Luuk de Boer" <[EMAIL PROTECTED]> writes:
> >
> > > I am busy making a program to get everything from a website
> > > which is using cookies. When I use $ua->cookie_jar($cookie_jar); he
> > > picks up the cookie I get (sessionid) places it in the next header.
> > > That's working fine but the syntax is completely different as normal
> > > browsers are doing. When do above the header I get is: Cookie:
> > > $Version=1; JSESSIONID="iibuorkp41.JS11"; $Path="/memberarea"
> > >
> > > and when I do the some stuff with mozilla or IE 6.0 or something
> > > else I get: Cookie: JSESSIONID=8szullke51.JS13
> > >
> > > only the way the browser is using is working on that website.
> >
> > What are the Set-Cookie (and Set-Cookie2) headers that are sent from
> > the server in this case? What version of LWP are you using? Also a
> > dump of $ua->cookie_jar->as_string would be nice to see.
> >
> > The first format (with $Version=1 etc) is only supposed to be returned
> > if the server says it accept that kind of cookies, by using the
> > Set-Cookie2 header.
> >
>
> Here the set cookie headers:
> Set-Cookie: JSESSIONID=qqxmisgbf1.JS12;Path=/memberarea
> Set-Cookie2: JSESSIONID=qqxmisgbf1.JS12;Version=1;Discard;Path="/memberarea"
>
> version I am using is: LWP.pm = 5.53
>
> and a dump of the cookie as_string :
> Set-Cookie3: JSESSIONID="0ga3rtgc91.JS12";
> path="/memberarea"; domain="www.woonkrant.nl"; path_spec;
> discard; version=1
In which case it is totally correct to send back the Cookie in the RFC
2965 format; Cookie: $Version=1; JSESSIONID="qqxmisgbf1.JS12"; ...
Are you sure it is not some other cookies that are the problem? Since
your version of LWP there has been some updates to the HTTP::Cookie
module that might be relevant here. For instance this one:
Fix HTTP::Cookies where there is a mix of Set-Cookie and
Set-Cookie2 headers. In that case we used to ignore all Set-Cookie
headers. Now we only ignore those Set-Cookie headers that reference
the same cookie as a Set-Cookie2 header.
If you don't feel like upgrading the whole of LWP you might try to
just plug in http://www.linpro.no/lwp/libwww-perl/lib/HTTP/Cookies.pm
and see if that helps.
I also wonder if it would make sense to add an option to HTTP::Cookies
to simply make it ignore any Set-Cookie2 headers found in requests.
If no real browser is ever going to implement RFC 2965 cookies, then
there is bound to be server apps out there that end up in some trouble
with them.
Regards,
Gisle