Есть ли способ получить подробности заголовка сайта внутри curl - PullRequest
0 голосов
/ 24 июня 2019

Я создал страницу входа, которая принимает данные от пользователя и проверяет базу данных, чтобы убедиться, что это правильный пользователь.Как только пользователь вошел в систему, нажатие любой кнопки веб-страницы завершает работу, вместо того, чтобы перенаправлять меня на запрошенную страницу. Если щелкнуть любую веб-страницу, она будет перенаправлена ​​на главный сервер вместо запуска на локальном хосте.Я попытался получить ключ сеанса, но у меня не получилось.

Проблема в том, что веб-сайт, на котором я публикую информацию, работает в сеансе.Когда я публикую детали, серверная сторона не создает cookie и не передает обратно.Я посмотрел на вкладку сети и увидел там, что сессионный cookie-файл устанавливается, возможно ли получить этот сессионный cookie-файл из заголовка?

Я попытался создать собственный cookie-файл и скопировать и вставить сессионный cookie-файл.но это не работаетИспользовал код других пользователей и все еще имеет ту же проблему

    <?php 

    session_start();

    $cookie="C:/xampp/htdocs/cookie.txt"; 
    $url="https://online-learning.aau.ac.ae/moodle/login/index.php";    
    $_COOKIE['username'] ="xxxxx"; 
    $_COOKIE['password']="xxxxx"; 
    $anchor = "";


    setcookie("MoodleSession","690qciai223fgflduqjtiu5ei3");
    // $useragent = $_SERVER['HTTP_USER_AGENT'];
    // $phpsessionid= $_COOKIE[session_name()]=session_id();
    // $strCookie = 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/';
    $postFields = array('username' =>  $_COOKIE['username'] ,'password' =>$_COOKIE['password'], 'anchor' => $anchor ,
    'submit'=> 'submit' );
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, true);   
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('online-learning.aau.ac.ae'));
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_COOKIESESSION, 1); 
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
    curl_setopt ($ch, CURLOPT_COOKIE, $cookie);
    curl_setopt ($ch, CURLOPT_POST, 1); 
    curl_setopt ($ch, CURLOPT_POSTFIELDS, http_build_query($postFields));
    curl_setopt ($ch, CURLOPT_REFERER, $url); 
    $response = curl_exec($ch);

    if(!$response){
    echo "logged out";
    }
    else {

    curl_setopt ($ch, CURLOPT_URL, "https://online-learning.aau.ac.ae/moodle/my/"); 
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: online-learning.aau.ac.ae')); 
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt ($ch, CURLOPT_POST, 1); 
    curl_setopt ($ch, CURLOPT_POSTFIELDS, http_build_query($postFields));
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);        
    $response = curl_exec($ch);
   // print_r(curl_getinfo($ch));
    echo $response; 

    }

существует неопределенная ошибка при входе в систему, и я хочу, чтобы curl создал cookie, получая cookie-файл сеанса со стороны сервера, и держал меня в курсепока я не выйду из системы

...