Вход с помощью curl возвращает ту же страницу входа - PullRequest
0 голосов
/ 23 апреля 2019

Я делаю скрипт для тестирования веб-приложения. Итак, сначала я хочу, чтобы скрипт вошел в систему, поэтому я сделал этот код:

<?php

$ch = curl_init('http://localhost/ASTechOLE/login.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
$response = curl_exec($ch);

$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($response);
$tags = $dom->getElementsByTagName('meta');
for($i = 0; $i < $tags->length; $i++){
    $grab = $tags->item($i);
    if($grab->getAttribute('name') === 'csrf_token'){
        $token = $grab->getAttribute('content');
    }
}
$data = array(
    "username"=>"008C108",
    "password"=>"8706405",
    //"form"=>"submit"
    //"csrf_token"=>$token,
    //"submitLogin"=>"submitLogin"
);

curl_setopt($ch, CURLOPT_URL, 'http://localhost/ASTechOLE/login.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
echo $response;


?>

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

Действие формы переходит к login-submit.php, так что это то, что я изменил в своем коде. Теперь я получаю Warning: DOMDocument::loadHTML(): Empty string supplied as input in D:\Programas\xampp\htdocs\CURL\curl.php on line 10

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...