尝试使用PHP&;登录到站点;卷曲

尝试使用PHP&;登录到站点;卷曲,php,curl,login,Php,Curl,Login,我以前从未做过这样的事情……我正在尝试登录swagbucks.com并获取一些信息,但它不起作用。有人能告诉我我的剧本有什么问题吗 <?php $pages = array('home' => 'http://swagbucks.com/?cmd=home', 'login' => 'http://swagbucks.com/?cmd=sb-login&from=/?cmd=home', 'schedule' => 'h

我以前从未做过这样的事情……我正在尝试登录swagbucks.com并获取一些信息,但它不起作用。有人能告诉我我的剧本有什么问题吗

<?php
$pages = array('home' =>
'http://swagbucks.com/?cmd=home',
           'login' =>
'http://swagbucks.com/?cmd=sb-login&from=/?cmd=home',
           'schedule' =>
'http://swagbucks.com/?cmd=sb-acct-account&display=2');
$ch = curl_init();
//Set options for curl session
$options = array(CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; `rv:1.9.2) Gecko/20100115 Firefox/3.6',`
         CURLOPT_HEADER => TRUE,
         //CURLOPT_RETURNTRANSFER => TRUE,
         CURLOPT_COOKIEFILE => 'cookie.txt',
         CURLOPT_COOKIEJAR => 'cookies.txt');


//Hit home page for session cookie
$options[CURLOPT_URL] = $pages['home'];
curl_setopt_array($ch, $options);
curl_exec($ch);

//Login
$options[CURLOPT_URL] = $pages['login'];
$options[CURLOPT_POST] = TRUE;
$options[CURLOPT_POSTFIELDS] = 'emailAddress=lala@yahoo.com&pswd=jblake&persist=on';
$options[CURLOPT_FOLLOWLOCATION] = FALSE;
curl_setopt_array($ch, $options);
curl_exec($ch);

//Hit schedule page
$options[CURLOPT_URL] = $pages['schedule'];
curl_setopt_array($ch, $options);
$schedule = curl_exec($ch);

//Output schedule
echo $schedule;

//Close curl session
curl_close($ch);
?> 


但它仍然没有让我登录。出了什么问题?

尝试回显每个请求,看看是否出现了问题。 (启用CURLOPT_RETURNTRANSFER)

它适用于我的“persist=1”,而不是“persist=on”:

我建议你使用

curl_setopt($ch, CURLOPT_COOKIEFILE, '/dev/null');

这样Cookie就可以存储在内存中,而不需要单独的文件。

您可能需要对您的个人信息进行审查。+1因为没有给我们提供真实的身份证明。如果您来自他们的登录表单,他们可能正在检查http referer标头?所以,试着添加那个标题。谢谢,我试过了,发现我请求的文件是错误的…哎呀。
curl_setopt($ch, CURLOPT_COOKIEFILE, '/dev/null');