我正在编写一个脚本来测试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
谢谢。