Ok - I got rid of the Apache::Cookie stuff, and am now doing things manually, but it still doesn't generate a cookie in IE. It still works in Netscape. I get a redirect, but no cookie. Here is my code:
my $r = Apache->request; $r->content_type('text/html'); $r->err_headers_out->add('Set-Cookie' => 'userSession=test; domain=.hainesfamily.org; path=/; expires=Mon, 25-Mar-2002 03:30:43 GMT'); $r->headers_out->add(Location => $redir); $r->status(REDIRECT); $r->send_http_header; my $headers_out = $r->headers_out; foreach (keys %$headers_out) { warn "$_=$headers_out->{$_}"; } return OK; The warn produces the following: Set-Cookie=userSession=test; domain=.domain.org; path=/; expires=Mon, 25-Mar-2002 03:30:43 GMT at /path/to/script.pm line 326. Location=/r/common/loginWelcome at /path/to/script.pm line 326. Connection=close at /path/to/script.pm line 326. Transfer-Encoding=chunked at /path/to/script.pm line 326. Content-Type=text/html at /path/to/script.pm line 326. Am I doing something wrong??? -Jesse Stay On Saturday 23 March 2002 06:43 pm, Eric Frazier wrote: > Strong suggestion. Look at an existing cookie that works in IE whatever, > copy it, then look at the header that Apache::Cookie is making. > This oop cookie crap really bugs me since a cookie is just a stupid header > line, not that big of a deal to parse, or write by hand. > Abscraction is for things that make good objects and that are HARD, cookies > in my opinon don't fit into that category. > I strongly bet it has to do with the expire date, also look at the docs, > and the code itself under the expires sub. I haven't done e com crap for a > while now, but I had lots of trouble getting IE to get it right. Remember > Netscape invented the cookie, then IE had to go and tweak with it. > > > Eric > > At 09:21 PM 3/23/02 -0500, Jesse and Rebecca Stay wrote: > >I guess in particular, does anyone know of any known issues with > >Apache::Cookie and IE6.0 (or any other versions)? > > > >On Saturday 23 March 2002 07:09 pm, Jesse and Rebecca Stay wrote: > >> Here is the code I use (in this particular case it is being used with a > >> redirect, but it doesn't work in any case.): > >> > >> > >> my $cookieContent = Apache::Cookie->new( > >> $r, > >> -name => 'userSession', > >> -value => $cookieValue, > >> -expires => '+365d'); > >> > >> $cookieContent->bake(); > >> > >> $r->headers_out->set(Location => $redir); > >> $r->status(REDIRECT); > >> $r->send_http_header; > >> return OK; > >> > >> I tried expires => '+1Y', but that didn't work either. Adding the > >> domain doesn't do anything either. > >> > >> On Saturday 23 March 2002 06:44 pm, Frank Wiles wrote: > >> > On Sat, 23 Mar 2002 18:52:14 -0500 Jesse and Rebecca Stay > >> > >> <[EMAIL PROTECTED]> wrote: > >> > > Has anyone had any issues in getting cookies to work with IE using > >> > > mod_perl? I have tried using both CGI::Cookie and Apache::Cookie, > >> > > and in both instances it works just fine under Netscape, but on IE > >> > > it doesn't even try to set the cookie. Any ideas? > >> > > >> > What are you expire times on your cookies? We ran into a situation > >> > where I work that all of the Windows machines were in the wrong time > >> > zone and with a 2 hour expire, IE would not set the cookie because it > >> > thought it was already expired. Netscape would however set the cookie > >> > anyway. > >> > > >> > This may not be your problem, but it may be something to think > >> > about. > >> > > >> > --------------------------------- > >> > Frank Wiles <[EMAIL PROTECTED]> > >> > http://frank.wiles.org > >> > --------------------------------- > > http://www.kwinternet.com/eric > (250) 655 - 9513 (PST Time Zone)