php - 尝试使用 PHP 和 cURL 登录站点?

标签 php curl authentication

我以前从未做过这样的事情...我正在尝试登录 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)

关于php - 尝试使用 PHP 和 cURL 登录站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2463541/

相关文章:

php - 如何在MySQL中存储欧洲货币?

php - 使 cURL 在收到数据时写入数据

curl - UrlFetch 相当于 CURL -u "<username>:<password>"

c# - WCF 服务上的自定义基本身份验证

PHP - 显示数据库中具有相同列值的记录

php mysql 数据库中TEXT类型的默认值

PHP - 验证用户是否存在于数据库中并在不重新加载页面的情况下显示结果

http - 多个站点共享一个IP地址: I can't reach special site using Host header

c# - 如何使用 C# 签署 SAMLResponse 和加密断言?

php - 以安全的方式向服务器发送密码