使用curl登录返回相同的登录页面

时间:2019-04-23 12:52:58

标签: php curl

我正在编写一个脚本来测试Web应用程序。 所以首先我要脚本登录,所以我编写了这段代码:

<?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;


?>

但是,当我运行它时,我只会得到登录页面。我没有收到任何错误,但是它什么也没做。 为什么会这样?

form操作转到login-submit.php,所以这是我在代码中所做的更改。现在我得到Warning: DOMDocument::loadHTML(): Empty string supplied as input in D:\Programas\xampp\htdocs\CURL\curl.php on line 10

谢谢。

0 个答案:

没有答案