Php Curl登录Cookie返回错误,表示没有cookie

时间:2015-04-23 08:40:48

标签: php curl cookies

我有一个网站,我尝试登录,设置cookie并保存到文件,但在我将postfiend发送到登录页面后,网站将我重定向到一个页面,告诉我没有启用cookie。

$post = "Username=".$user."&password=".$pswd."&loginButton=1";
$options = array(
  CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',
  CURLOPT_POST => true, //using post
  CURLOPT_URL => $address,  //where to go
  CURLOPT_POSTFIELDS => $post, //input params
  CURLOPT_RETURNTRANSFER => true, //Returns a string value of the request
  CURLOPT_SSL_VERIFYPEER => false, //Avoid SSL problems
  CURLOPT_HEADER => 1,
  CURLOPT_FAILONERROR => true,
  //CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_COOKIEJAR => 'cookies.txt',
  CURLOPT_COOKIEFILE => 'cookie.txt', //Save cookies
  CURLOPT_COOKIESESSION => true,
); //Cookies located

$ch = curl_init(); //Initialize curl in $ch
curl_setopt_array($ch, $options); //add params values to $ch
$content = curl_exec($ch); //execute

echo $content;

1 个答案:

答案 0 :(得分:1)

通常会发生这种情况,因为网站会在上一页上设置所需的Cookie,例如显示登录表单的页面。

检测此问题的一种方法是刷新浏览器Cookie并使用浏览器浏览网站,并调查第一次从服务器发送Cookie的确切时间。