我试图将以下代码发送到登录表单,然后在浏览器中以登录用户身份重新加载该页面。不知何故,它不保存cookie,并重新使用它的头()函数,可以通过发送登录细节后再次调用curl来完成与头相同的事情?通过curl登录,然后打开该页面登录
..
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , false);
curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);
//curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
// Apply the XML to our curl call
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$data = curl_exec($ch);
setcookie($cookie);
header('location: ' . $url);
die();
这是为同一个域?如果不是那么它不可能。如果是的话,我就是不明白。此外,没有理由死在最后。 – zaf 2010-04-06 18:16:09