Javascript 自动登录到wrbsite并提取元素

Javascript 自动登录到wrbsite并提取元素,javascript,html,moodle,Javascript,Html,Moodle,我想要一个html页面,该页面可以自动登录到一个站点,然后导航到该站点的另一个页面,获取一些元素,并使用java脚本将它们显示在我的html页面上。该站点基于MOODLE-API。是否有任何方法可以做到这一点 我曾经尝试过使用这个php脚本,但是没有用,因为moodle api使用cookies登录,用户关闭浏览器后,cookies就会消失。 该网站是 好吧,您的代码无法工作,因为CURLOPT_-COOKIEFILE和CURLOPT_-COOKIEJAR都需要文件的绝对路径。最简单的方法是使用

我想要一个html页面,该页面可以自动登录到一个站点,然后导航到该站点的另一个页面,获取一些元素,并使用java脚本将它们显示在我的html页面上。该站点基于MOODLE-API。是否有任何方法可以做到这一点

我曾经尝试过使用这个php脚本,但是没有用,因为moodle api使用cookies登录,用户关闭浏览器后,cookies就会消失。 该网站是


好吧,您的代码无法工作,因为
CURLOPT_-COOKIEFILE
CURLOPT_-COOKIEJAR
都需要文件的绝对路径。最简单的方法是使用
realpath('cookie.txt')


如果网站确实有cookie,并且这些cookie在退出时被删除,只需创建一个全局的
$ch=curl_init()
object,并通过编写
global$ch在方法中使用它
在一个方法的最开始,不在任何方法中调用
curl\u init()
curl\u close()

欢迎使用堆栈溢出。请尝试并发布您尝试过的内容,以便我们能够帮助您。好吧,请查看XMLHttpRequest(),然后使用它们。但是我认为使用像PHP这样的东西会使它变得更容易一些。
<?php

    //Upload a blank cookie.txt to the same directory as this file with a CHMOD/Permission to 777
function login($url,$data){
    $fp = fopen("cookie.txt", "w");
    fclose($fp);
    $login = curl_init();
    curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($login, CURLOPT_TIMEOUT, 40000);
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($login, CURLOPT_URL, $url);
    curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($login, CURLOPT_POST, TRUE);
    curl_setopt($login, CURLOPT_POSTFIELDS, $data);
    ob_start();
    return curl_exec ($login);
    ob_end_clean();
    curl_close ($login);
    unset($login);    
}                  

function grab_page($site){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_URL, $site);
    ob_start();
    return curl_exec ($ch);
    ob_end_clean();
    curl_close ($ch);
}

function post_data($site,$data){
    $datapost = curl_init();
        $headers = array("Expect:");
    curl_setopt($datapost, CURLOPT_URL, $site);
        curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
    curl_setopt($datapost, CURLOPT_HEADER, TRUE);
        curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($datapost, CURLOPT_POST, TRUE);
    curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
        curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt");
    ob_start();
    return curl_exec ($datapost);
    ob_end_clean();
    curl_close ($datapost);
    unset($datapost);    
}

?>