On Sat, April 22, 2006 3:12 am, Peter Hoskin wrote: > I'm trying to produce an sms sending script, however having problems > with curl and storing cookies. The login page works fine, however the > second http request returns a login page rather than authenticated > content. Additionally, in the headers a different cookie value for > JSESSIONID is set. > > I'm running PHP/5.1.2 on FreeBSD > > This script: > define('COOKIEJAR','/path/to/curl-cookiejar'); > define('USERAGENT','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT > 5.1)'); > > > $ch = curl_init(); > curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR); . . . > $return['login'] = curl_exec($ch); > curl_close($ch); > unset($ch); > > $ch = curl_init(); > curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
Here, you should also use CURLOPT_COOKIEJAR and COOKIEJAR, in case you get some *MORE* cookies on subsequendc pages. In fact, go ahead and just use both options all the time -- assuming your COOKIEFILE starts off empty. Or perhaps you should http://php.net/unlink it at the beginning. > $fp = fopen(COOKIEJAR,'w'); > fclose($fp); Ah. This is to wipe out the COOKIEJAR when you're done, right?... If not, get rid of it. Oh, and here's the REAL problem: If you use CURLOPT_HEADER, 1, then, like, for some reason beyond my ken, the COOKIEJAR/COOOKIEFILE stuff just plain doesn't get done. This really sucks if you need *other* headers and want curl to manage the Cookies for you, but there it is. I'm not sure if I remembered to file a bug report on that or not... If the general conscensus on this list is that CURLOPT_HEADER "on" should not negate the use of CURLOPT_COOKIEFILE and/or CURLOPT_COOKIEJAR, then we may want to file a bug report... But I strongly suspect that bug report would most correctly go to curl, and not PHP, since I doubt that PHP does anything to screw this up -- it's probably all in curl itself, no? Or maybe me and Peter are the only 2 guys on the planet that think you should get to have both... -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php