关于Moodle的cURL的帮助

时间:2011-09-17 11:37:16

标签: php moodle

大家好日子。我目前正在Moodle编程。由于我在他们的论坛上还没有得到任何答案,我将不得不在这里问它,因为我真的需要帮助。我的cURL如何绕过Moodle登录页面?

    $ckfile = tempnam("/tmp","CURLCOOKIE");
    $ch = curl_init(http://127.0.0.1/login/index.php);

    $data = array('username' => 'admin', 'password' => 'Admin_123');

    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $url = "http://127.0.0.1/mod/quiz/report.php?q=4&mode=analysis";
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);

    echo $output;

    curl_close($ch);

鉴于此代码,我已成功以管理员身份登录,但问题是我仍然停留在登录页面而不是继续访问网址(http://127.0.0.1/mod/quiz/report.php ?q = 4& mode = analysis)这应该是我的目标。我怎么想绕过登录页面?任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

如果你想在PHP上使用moodle,你不应该使用cURL来处理页面,而是使用Moodle API。如果由于任何原因您仍想使用网页,则至少应使用Moodle API authenticate。这会为您提供会话令牌,您可以使用该会话令牌访问后续页面。