首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程登录到Managebac

远程登录到Managebac
EN

Stack Overflow用户
提问于 2012-04-30 05:41:20
回答 1查看 209关注 0票数 0

首先,我想说明的是,我已经尝试了许多不同的方法,并阅读了相当多关于这方面的文章,但都没有完全奏效。

我已经成功地通过cURL获得了cookies,但当我尝试实际使用它们时,它只是失败了,并告诉我正在被重定向。

重点是,我想要的是,我只想登录,从我的个人资料中检索数据,然后用它做一些事情……

这就是我现在所在的位置(它只保存正确的cookie,但不会返回我登录后的页面):

代码语言:javascript
复制
$url="https://myschool.managebac.com/sessions/";

$postdata = "login=myname@myschool.com&password=password&commit=Sign-in&remember_me=1";

$cr = curl_init();
curl_setopt($cr, CURLOPT_URL, $url);
curl_setopt($cr, CURLOPT_POST, TRUE);
curl_setopt($cr, CURLOPT_HEADER, TRUE);
curl_setopt($cr, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($cr, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($cr, CURLOPT_POSTFIELDS, $postdata);  
curl_setopt($cr, CURLOPT_COOKIEJAR, 'cookie.txt');   
$header = curl_exec($cr); 
curl_close($cr); 

$cr2 = curl_init();
curl_setopt($cr2, CURLOPT_URL, 'https://myschool.managebac.com/');
curl_setopt($cr2, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($cr2, CURLOPT_HEADER, TRUE);
curl_setopt($cr2, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($cr2, CURLOPT_COOKIEFILE, 'cookie.txt'); 
$result = curl_exec($cr2);
curl_close($cr2);

我希望实际上有一种可能的方法,因为Managebac不是一个常用的应用程序(主要用于IB学生),但如果我能让它工作,它会对我有很大的帮助。

我对每一个答案都很高兴。

EN

回答 1

Stack Overflow用户

发布于 2012-05-01 01:20:38

好的,我以某种方式做到了。

现在,它得到了想要的信息,并且一切正常。

如果有人想要代码,这里有:

代码语言:javascript
复制
$url="https://myschool.managebac.com/sessions";
$postdata = "login=mylogin&password=mypassword&commit=Sign-in&remember_me=1";

$cr_curlopt = array(CURLOPT_URL => $url,
                    CURLOPT_POST => TRUE,
                    CURLOPT_HEADER => TRUE,
                    CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
                    CURLOPT_RETURNTRANSFER => TRUE,
                    CURLOPT_POSTFIELDS => $postdata,
                    CURLOPT_COOKIEJAR => 'cookie.txt');

$cr = curl_init();
curl_setopt_array($cr, $cr_curlopt);
$header = curl_exec($cr);

curl_close($cr); 

$cr2_curlopt = array(CURLOPT_URL => "http://myschool.managebac.com",
                    CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
                    CURLOPT_RETURNTRANSFER => TRUE,
                    CURLOPT_COOKIEFILE => 'cookie.txt');

$cr2 = curl_init();
curl_setopt_array($cr2, $cr2_curlopt);
$result = curl_exec($cr2);
curl_close($cr2);

print $result;

顺便说一句,我不知道为什么它实际上会有帮助,但在我将curlopt从单独的字符串添加到一个数组后,它开始工作了。(感谢DanRedux)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10376250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档